]> git.ipfire.org Git - thirdparty/mdadm.git/commitdiff
ping_monitor(): check file descriptor is valid before using and closing it
authorJes Sorensen <Jes.Sorensen@redhat.com>
Wed, 2 Nov 2011 21:07:02 +0000 (08:07 +1100)
committerNeilBrown <neilb@suse.de>
Wed, 2 Nov 2011 21:07:02 +0000 (08:07 +1100)
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: NeilBrown <neilb@suse.de>
msg.c

diff --git a/msg.c b/msg.c
index 98d6d13b1e216d27189a47427e8db17f10b22026..87d3b8d6039b6c17a963d0727c613143135c3791 100644 (file)
--- a/msg.c
+++ b/msg.c
@@ -207,9 +207,14 @@ int fping_monitor(int sfd)
 int ping_monitor(char *devname)
 {
        int sfd = connect_monitor(devname);
-       int err = fping_monitor(sfd);
+       int err;
+
+       if (sfd >= 0) {
+               err = fping_monitor(sfd);
+               close(sfd);
+       } else
+               err = -1;
 
-       close(sfd);
        return err;
 }