diff options
author | Fabian Groffen <grobian@gentoo.org> | 2020-01-19 13:14:44 +0100 |
---|---|---|
committer | Fabian Groffen <grobian@gentoo.org> | 2020-01-19 13:14:44 +0100 |
commit | ea744763eb0df6693068d85ea24fa47577c0da0f (patch) | |
tree | 87bad5947c7916d8702f0048d5f4bf47e2165659 /quse.c | |
parent | qmanifest: fix Coverity 206565 Unchecked return value (diff) | |
download | portage-utils-ea744763eb0df6693068d85ea24fa47577c0da0f.tar.gz portage-utils-ea744763eb0df6693068d85ea24fa47577c0da0f.tar.bz2 portage-utils-ea744763eb0df6693068d85ea24fa47577c0da0f.zip |
quse: fix Coverity 206564 Resource leak
Signed-off-by: Fabian Groffen <grobian@gentoo.org>
Diffstat (limited to 'quse.c')
-rw-r--r-- | quse.c | 15 |
1 files changed, 10 insertions, 5 deletions
@@ -289,19 +289,24 @@ quse_search_profiles_desc( continue; namelen = strlen(de->d_name); - if (namelen <= 5 || strcmp(de->d_name + namelen - 5, ".desc") != 0) - return false; + if (namelen <= 5 || strcmp(de->d_name + namelen - 5, ".desc") != 0) { + ret = false; + break; + } snprintf(_quse_getline_buf, _quse_getline_buflen, "profiles/desc/%s", de->d_name); dfd = openat(portdirfd, _quse_getline_buf, O_RDONLY | O_CLOEXEC); - if (dfd == -1) - return false; + if (dfd == -1) { + ret = false; + break; + } f = fdopen(dfd, "r"); if (f == NULL) { close(fd); - return false; + ret = false; + break; } /* remove trailing .desc */ |