chiark / gitweb /
Include the 0 terminator in the device string len
authorRichard Kettlewell <richard@leucomorph.anjou.terraraq.org.uk>
Thu, 16 Dec 2010 23:24:23 +0000 (23:24 +0000)
committerRichard Kettlewell <richard@leucomorph.anjou.terraraq.org.uk>
Thu, 16 Dec 2010 23:24:23 +0000 (23:24 +0000)
(Looking at the kernel code I think this won't make any difference in
Linux but I from the docs I think this is strictly right.)

udplisten.cc

index b8ea5de..6786acc 100644 (file)
@@ -29,7 +29,7 @@ int bindto(const char *dev) {
   if(setsockopt(fd, SOL_SOCKET, SO_BROADCAST, &one, sizeof one) < 0)
     fatal("setsockopt SO_BROADCAST");
   if(dev && *dev) {
-    if(setsockopt(fd, SOL_SOCKET, SO_BINDTODEVICE, dev, strlen(dev)) < 0)
+    if(setsockopt(fd, SOL_SOCKET, SO_BINDTODEVICE, dev, strlen(dev) + 1) < 0)
       fatal("setsockopt SO_BINDTODEVICE %s", dev);
   }
   memset(&addr, 0, sizeof addr);