diff options
Diffstat (limited to 'libblkid')
-rw-r--r-- | libblkid/src/topology/md.c | 6 |
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; } |