commit:     ea744763eb0df6693068d85ea24fa47577c0da0f
Author:     Fabian Groffen <grobian <AT> gentoo <DOT> org>
AuthorDate: Sun Jan 19 12:14:44 2020 +0000
Commit:     Fabian Groffen <grobian <AT> gentoo <DOT> org>
CommitDate: Sun Jan 19 12:14:44 2020 +0000
URL:        https://gitweb.gentoo.org/proj/portage-utils.git/commit/?id=ea744763

quse: fix Coverity 206564 Resource leak

Signed-off-by: Fabian Groffen <grobian <AT> gentoo.org>

 quse.c | 15 ++++++++++-----
 1 file changed, 10 insertions(+), 5 deletions(-)

diff --git a/quse.c b/quse.c
index 4a8b89b..f88e298 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 */

Reply via email to