Fix issue when no broadcast address is given
authorMohamed Abbas <mohamed.abbas@intel.com>
Thu, 8 Oct 2009 18:49:12 +0000 (11:49 -0700)
committerMarcel Holtmann <marcel@holtmann.org>
Tue, 3 Nov 2009 06:54:53 +0000 (15:54 +0900)
src/ipv4.c

index 4ef6b87..b98d302 100644 (file)
@@ -199,7 +199,10 @@ static int ipv4_probe(struct connman_element *element)
        memset(&ipv4, 0, sizeof(ipv4));
        ipv4.address.s_addr = inet_addr(address);
        ipv4.netmask.s_addr = inet_addr(netmask);
-       ipv4.broadcast.s_addr = inet_addr(broadcast);
+       if (broadcast)
+               ipv4.broadcast.s_addr = inet_addr(broadcast);
+       else
+               ipv4.broadcast.s_addr = ipv4.address.s_addr | ~ipv4.netmask.s_addr;
 
        set_ipv4(element, &ipv4, nameserver);