fix sendmmsg emulation return value for zero-length vector
[musl] / src / network / if_nameindex.c
index cdb956c..53b80b2 100644 (file)
@@ -6,8 +6,6 @@
 #include <errno.h>
 #include "syscall.h"
 
-#include <stdio.h>
-
 static void *do_nameindex(int s, size_t n)
 {
        size_t i, len, k;
@@ -47,7 +45,7 @@ struct if_nameindex *if_nameindex()
 {
        size_t n;
        void *p = 0;
-       int s = socket(AF_UNIX, SOCK_DGRAM, 0);
+       int s = socket(AF_UNIX, SOCK_DGRAM|SOCK_CLOEXEC, 0);
        if (s>=0) {
                for (n=0; (p=do_nameindex(s, n)) == (void *)-1; n++);
                __syscall(SYS_close, s);