summaryrefslogtreecommitdiffstats
path: root/libblkid
diff options
context:
space:
mode:
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;
}