On 5/28/2016 8:42 PM, Garrett Cooper wrote:
> Author: ngie
> Date: Sun May 29 03:42:50 2016
> New Revision: 300932
> URL: https://svnweb.freebsd.org/changeset/base/300932
> 
> Log:
>   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
> 
> Modified:
>   head/usr.sbin/rpcbind/util.c
> 
> Modified: head/usr.sbin/rpcbind/util.c
> ==============================================================================
> --- head/usr.sbin/rpcbind/util.c      Sun May 29 02:59:03 2016        
> (r300931)
> +++ head/usr.sbin/rpcbind/util.c      Sun May 29 03:42:50 2016        
> (r300932)
> @@ -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);

Did something meaningful get printed before this on hitting this error,
without debug?

>               }
>               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
> 


-- 
Regards,
Bryan Drewery

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to