aboutsummaryrefslogtreecommitdiff
path: root/quse.c
diff options
context:
space:
mode:
authorFabian Groffen <grobian@gentoo.org>2020-01-19 13:14:44 +0100
committerFabian Groffen <grobian@gentoo.org>2020-01-19 13:14:44 +0100
commitea744763eb0df6693068d85ea24fa47577c0da0f (patch)
tree87bad5947c7916d8702f0048d5f4bf47e2165659 /quse.c
parentqmanifest: fix Coverity 206565 Unchecked return value (diff)
downloadportage-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.c15
1 files changed, 10 insertions, 5 deletions
diff --git a/quse.c b/quse.c
index 4a8b89bd..f88e2986 100644
--- a/quse.c
+++ b/quse.c
@@ -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 */