diff options
author | Karel Zak | 2012-01-30 23:27:23 +0100 |
---|---|---|
committer | Karel Zak | 2012-01-30 23:27:23 +0100 |
commit | 4f69189fe7176b1740a149fabfe848f6d2b48d8e (patch) | |
tree | bbefd62b123b1afcace995f7bad85f29ac54ba85 /libmount/src/utils.c | |
parent | libmount: fix possible null dereferencing [coverity scan] (diff) | |
download | kernel-qcow2-util-linux-4f69189fe7176b1740a149fabfe848f6d2b48d8e.tar.gz kernel-qcow2-util-linux-4f69189fe7176b1740a149fabfe848f6d2b48d8e.tar.xz kernel-qcow2-util-linux-4f69189fe7176b1740a149fabfe848f6d2b48d8e.zip |
libmount: fix resource leak [coverity scan]
Signed-off-by: Karel Zak <kzak@redhat.com>
Diffstat (limited to 'libmount/src/utils.c')
-rw-r--r-- | libmount/src/utils.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/libmount/src/utils.c b/libmount/src/utils.c index 0bd7c361b..823289e5f 100644 --- a/libmount/src/utils.c +++ b/libmount/src/utils.c @@ -427,6 +427,7 @@ err: static int get_filesystems(const char *filename, char ***filesystems, const char *pattern) { + int rc = 0; FILE *f; char line[128]; @@ -436,7 +437,6 @@ static int get_filesystems(const char *filename, char ***filesystems, const char while (fgets(line, sizeof(line), f)) { char name[sizeof(line)]; - int rc; if (*line == '#' || strncmp(line, "nodev", 5) == 0) continue; @@ -446,9 +446,11 @@ static int get_filesystems(const char *filename, char ***filesystems, const char continue; rc = add_filesystem(filesystems, name); if (rc) - return rc; + break; } - return 0; + + fclose(f); + return rc; } int mnt_get_filesystems(char ***filesystems, const char *pattern) |