]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
sd-netlink: don't take possesion of netlink fd from caller on failure
authorLennart Poettering <lennart@poettering.net>
Mon, 1 Feb 2016 21:13:45 +0000 (22:13 +0100)
committerLennart Poettering <lennart@poettering.net>
Mon, 1 Feb 2016 21:18:16 +0000 (22:18 +0100)
Fixes: #2338
src/libsystemd/sd-netlink/sd-netlink.c

index 15d387df2c337995d539b6b25bd0c2de89036e65..ab42b96a2ec59650b13da725da9d07f1d3f10b65 100644 (file)
@@ -118,8 +118,10 @@ int sd_netlink_open_fd(sd_netlink **ret, int fd) {
         rtnl->fd = fd;
 
         r = socket_bind(rtnl);
-        if (r < 0)
+        if (r < 0) {
+                rtnl->fd = -1; /* on failure, the caller remains owner of the fd, hence don't close it here */
                 return r;
+        }
 
         *ret = rtnl;
         rtnl = NULL;