summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjkh <jkh@FreeBSD.org>1994-11-01 22:12:35 +0000
committerjkh <jkh@FreeBSD.org>1994-11-01 22:12:35 +0000
commitf4eb739b8bdf76e793eccb9b44f0420b2242cf98 (patch)
treedb71c49f4ff994f97d49cd4d6b49f1961eac0c2d
parentdb9cea67795dcf525d89b0861e923cbb591738fe (diff)
downloadFreeBSD-src-f4eb739b8bdf76e793eccb9b44f0420b2242cf98.zip
FreeBSD-src-f4eb739b8bdf76e793eccb9b44f0420b2242cf98.tar.gz
John Hay's patches to prevent missing gateway from dumping core.
Submitted by: jhay
-rw-r--r--sys/i386/boot/netboot/main.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/sys/i386/boot/netboot/main.c b/sys/i386/boot/netboot/main.c
index 276d388..9604d24 100644
--- a/sys/i386/boot/netboot/main.c
+++ b/sys/i386/boot/netboot/main.c
@@ -132,11 +132,15 @@ load()
nfsdiskless.myif.ifra_broadaddr.sa_family = AF_INET;
bcopy(&broadcast, &nfsdiskless.myif.ifra_broadaddr.sa_data[2], 4);
addr = htonl(arptable[ARP_GATEWAY].ipaddr);
- nfsdiskless.mygateway.sin_len = sizeof(struct sockaddr);
- nfsdiskless.mygateway.sin_family = AF_INET;
- bcopy(&addr, &nfsdiskless.mygateway.sin_addr, 4);
- nfsdiskless.myif.ifra_mask.sa_len = sizeof(struct sockaddr);
- nfsdiskless.myif.ifra_mask.sa_family = AF_UNSPEC;
+ if (addr) {
+ nfsdiskless.mygateway.sin_len = sizeof(struct sockaddr);
+ nfsdiskless.mygateway.sin_family = AF_INET;
+ bcopy(&addr, &nfsdiskless.mygateway.sin_addr, 4);
+ } else {
+ nfsdiskless.mygateway.sin_len = 0;
+ }
+ nfsdiskless.myif.ifra_mask.sa_len = sizeof(struct sockaddr);
+ nfsdiskless.myif.ifra_mask.sa_family = AF_UNSPEC;
bcopy(&netmask, &nfsdiskless.myif.ifra_mask.sa_data[2], 4);
rpc_id = currticks();
OpenPOWER on IntegriCloud