Fix for coverity (return error code if address family is unknown)
authorArran Cudbard-Bell <a.cudbardb@freeradius.org>
Sun, 17 Feb 2013 02:15:25 +0000 (21:15 -0500)
committerArran Cudbard-Bell <a.cudbardb@freeradius.org>
Sun, 17 Feb 2013 02:15:35 +0000 (21:15 -0500)
src/lib/dhcp.c
src/lib/vqp.c

index ccf65d5..d7a9ec2 100644 (file)
@@ -394,8 +394,10 @@ int fr_dhcp_send(RADIUS_PACKET *packet)
        socklen_t               sizeof_src;
 #endif
 
-       fr_ipaddr2sockaddr(&packet->dst_ipaddr, packet->dst_port,
-                          &dst, &sizeof_dst);
+       if (!fr_ipaddr2sockaddr(&packet->dst_ipaddr, packet->dst_port,
+                               &dst, &sizeof_dst)) {
+               return -1;                      
+       }
 
        /*
         *      The client doesn't yet have an IP address, but is
@@ -415,8 +417,10 @@ int fr_dhcp_send(RADIUS_PACKET *packet)
        return sendto(packet->sockfd, packet->data, packet->data_len, 0,
                      (struct sockaddr *)&dst, sizeof_dst);
 #else
-       fr_ipaddr2sockaddr(&packet->src_ipaddr, packet->src_port,
-                          &src, &sizeof_src);
+       if (!fr_ipaddr2sockaddr(&packet->src_ipaddr, packet->src_port,
+                               &src, &sizeof_src)) {
+               return -1;                      
+       }
 
        return sendfromto(packet->sockfd,
                          packet->data, packet->data_len, 0,
index da26753..4fcf1b7 100644 (file)
@@ -86,7 +86,9 @@ static int vqp_sendto(int sockfd, void *data, size_t data_len, int flags,
        struct sockaddr_storage src;
        socklen_t               sizeof_src;
 
-       fr_ipaddr2sockaddr(src_ipaddr, 0, &src, &sizeof_src);
+       if (!fr_ipaddr2sockaddr(src_ipaddr, 0, &src, &sizeof_src)) {
+               return -1;   /* Unknown address family, Die Die Die! */ 
+       }
 #else
        src_ipaddr = src_ipaddr; /* -Wunused */
 #endif