summaryrefslogtreecommitdiffstats
path: root/libblkid
diff options
context:
space:
mode:
authorKarel Zak2012-01-31 14:56:34 +0100
committerKarel Zak2012-01-31 14:56:34 +0100
commit8af0d7bc44a124c4aba2908d00f516003ebef454 (patch)
tree6bd81b4570bb1ec327734bb6ce0f199f5e8d6d88 /libblkid
parentlogin: comparing an array to null is not useful [coverity scan] (diff)
downloadkernel-qcow2-util-linux-8af0d7bc44a124c4aba2908d00f516003ebef454.tar.gz
kernel-qcow2-util-linux-8af0d7bc44a124c4aba2908d00f516003ebef454.tar.xz
kernel-qcow2-util-linux-8af0d7bc44a124c4aba2908d00f516003ebef454.zip
libblkid: make fd usage in md code more robust
Signed-off-by: Karel Zak <kzak@redhat.com>
Diffstat (limited to 'libblkid')
-rw-r--r--libblkid/src/topology/md.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/libblkid/src/topology/md.c b/libblkid/src/topology/md.c
index d14055465..a24fbaca6 100644
--- a/libblkid/src/topology/md.c
+++ b/libblkid/src/topology/md.c
@@ -109,8 +109,10 @@ static int probe_md_tp(blkid_probe pr,
if (ioctl(fd, GET_ARRAY_INFO, &md))
goto nothing;
- if (fd != pr->fd)
+ if (fd >= 0 && fd != pr->fd) {
close(fd);
+ fd = -1;
+ }
/*
* Ignore levels we don't want aligned (e.g. linear)
@@ -138,7 +140,7 @@ static int probe_md_tp(blkid_probe pr,
return 0;
nothing:
- if (fd != -1 && fd != pr->fd)
+ if (fd >= 0 && fd != pr->fd)
close(fd);
return 1;
}