diff options
author | jkh <jkh@FreeBSD.org> | 1994-11-01 22:12:35 +0000 |
---|---|---|
committer | jkh <jkh@FreeBSD.org> | 1994-11-01 22:12:35 +0000 |
commit | f4eb739b8bdf76e793eccb9b44f0420b2242cf98 (patch) | |
tree | db71c49f4ff994f97d49cd4d6b49f1961eac0c2d | |
parent | db9cea67795dcf525d89b0861e923cbb591738fe (diff) | |
download | FreeBSD-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.c | 14 |
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(); |