diff options
author | Alan Jenkins <alan-jenkins@tuffmail.co.uk> | 2009-04-06 10:18:41 +0100 |
---|---|---|
committer | Kay Sievers <kay.sievers@vrfy.org> | 2009-04-06 07:23:35 -0700 |
commit | 4b09a2fc4383f191d96a8d6134b95a4b84aef931 (patch) | |
tree | d1e4d4d29a4e147b296de120aa3ec5ddccd59517 /udev/lib/libudev-util.c | |
parent | 52761bb0a99cb80ccb19c9edf23963fdad67060d (diff) |
avoid leaking netlink socket fd to external programs
The netlink socket is now used by udev event processes. We should take
care not to pass it to the programs they execute. This is the same way
the inotify fd was handled.
Signed-off-by: Alan Jenkins <alan-jenkins@tuffmail.co.uk>
Diffstat (limited to 'udev/lib/libudev-util.c')
-rw-r--r-- | udev/lib/libudev-util.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/udev/lib/libudev-util.c b/udev/lib/libudev-util.c index 867a41d211..b628fdd44c 100644 --- a/udev/lib/libudev-util.c +++ b/udev/lib/libudev-util.c @@ -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); +} |