chiark / gitweb /
avoid leaking netlink socket fd to external programs
[elogind.git] / udev / lib / libudev-util.c
index 867a41d21120df2361c75bcfcf1ef5e6e96fdb4d..b628fdd44c33a35eea72535b029838c19f0ee76d 100644 (file)
@@ -448,3 +448,15 @@ int udev_util_encode_string(const char *str, char *str_enc, size_t len)
 err:
        return -1;
 }
+
+void util_set_fd_cloexec(int fd)
+{
+       int flags;
+
+       flags = fcntl(fd, F_GETFD);
+       if (flags < 0)
+               flags = FD_CLOEXEC;
+       else
+               flags |= FD_CLOEXEC;
+       fcntl(fd, F_SETFD, flags);
+}