Catch malloc(3) errors and socket(2) errors
- malloc failing will result in a delayed segfault - socket failing will result in delayed failures with setsockopt Exit in the event that either of these high-level conditions are met. Reported by: Coverity CID: 976288, 976321, 976858 Sponsored by: EMC / Isilon Storage Division
This commit is contained in:
parent
08f9163b69
commit
43db5d126c
@ -336,6 +336,7 @@ network_init(void)
|
||||
if (local_in4 == NULL) {
|
||||
if (debugging)
|
||||
fprintf(stderr, "can't alloc local ip4 addr\n");
|
||||
exit(1);
|
||||
}
|
||||
memcpy(local_in4, res->ai_addr, sizeof *local_in4);
|
||||
}
|
||||
@ -351,6 +352,7 @@ network_init(void)
|
||||
if (local_in6 == NULL) {
|
||||
if (debugging)
|
||||
fprintf(stderr, "can't alloc local ip6 addr\n");
|
||||
exit(1);
|
||||
}
|
||||
memcpy(local_in6, res->ai_addr, sizeof *local_in6);
|
||||
}
|
||||
@ -365,6 +367,11 @@ network_init(void)
|
||||
inet_pton(AF_INET6, RPCB_MULTICAST_ADDR, &mreq6.ipv6mr_multiaddr);
|
||||
|
||||
s = socket(AF_INET6, SOCK_DGRAM, IPPROTO_UDP);
|
||||
if (s == -1) {
|
||||
if (debugging)
|
||||
fprintf(stderr, "couldn't create ip6 socket");
|
||||
exit(1);
|
||||
}
|
||||
|
||||
/*
|
||||
* Loop through all interfaces. For each IPv6 multicast-capable
|
||||
|
Loading…
Reference in New Issue
Block a user