diff -urN 2.4.4ac5/net/ipv6/ndisc.c 2.4.4ac6/net/ipv6/ndisc.c
--- 2.4.4ac5/net/ipv6/ndisc.c	Tue May  1 19:35:34 2001
+++ 2.4.4ac6/net/ipv6/ndisc.c	Wed May  9 04:04:24 2001
@@ -394,7 +394,7 @@
 	int send_llinfo;
 
 	len = sizeof(struct icmp6hdr) + sizeof(struct in6_addr);
-	send_llinfo = dev->addr_len && ipv6_addr_type(saddr) != IPV6_ADDR_ANY;
+	send_llinfo = dev->addr_len && saddr && ipv6_addr_type(saddr) != IPV6_ADDR_ANY;
 	if (send_llinfo)
 		len += NDISC_OPT_SPACE(dev->addr_len);