From 5909f4a96f0b370c66dcc400d337794c1adcc4d2 Mon Sep 17 00:00:00 2001 From: Tomohiro Kusumi Date: Sat, 7 Feb 2015 06:01:36 +0900 Subject: [PATCH] lib/libhammer: fix minor memory leak - Fix minor issues from d428efb7 --- lib/libhammer/misc.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/lib/libhammer/misc.c b/lib/libhammer/misc.c index 74c8948..8b465a6 100644 --- a/lib/libhammer/misc.c +++ b/lib/libhammer/misc.c @@ -92,7 +92,10 @@ libhammer_find_pfs_mount(uuid_t *unique_uuid) pfs.pfs_id = -1; pfs.ondisk = &pfsd; pfs.bytes = sizeof(struct hammer_pseudofs_data); - fd = open(mnt->f_mntonname, O_RDONLY); + if ((fd = open(mnt->f_mntonname, O_RDONLY)) < 0) { + curmount--; + continue; + } if (ioctl(fd, HAMMERIOC_GET_PSEUDOFS, &pfs) < 0) { close(fd); curmount--; @@ -101,8 +104,9 @@ libhammer_find_pfs_mount(uuid_t *unique_uuid) memcpy(&uuid, &pfs.ondisk->unique_uuid, sizeof(uuid)); if (uuid_compare(unique_uuid, &uuid, NULL) == 0) { - retval = strdup(mnt->f_mntonname); - break; + retval = strdup(mnt->f_mntonname); + close(fd); + break; } curmount--; -- 2.1.2