diff options
author | William Wilgus <wilgus.william@gmail.com> | 2021-08-02 22:57:51 -0400 |
---|---|---|
committer | William Wilgus <me.theuser@yahoo.com> | 2021-08-03 03:01:14 +0000 |
commit | 93c9d675afaecc13ef51945d0992037e55b98724 (patch) | |
tree | 61a522cc76d6fac37bdec00260c7580853e72707 /apps/gui | |
parent | 429eedf49e5bc6faaa47392290291e796b473e14 (diff) | |
download | rockbox-93c9d675afaecc13ef51945d0992037e55b98724.tar.gz rockbox-93c9d675afaecc13ef51945d0992037e55b98724.zip |
folder_select prevent directory handle leak on error
Change-Id: If1617dc92683d7de3d7709b363a593e40fbc5bc8
Diffstat (limited to 'apps/gui')
-rw-r--r-- | apps/gui/folder_select.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/apps/gui/folder_select.c b/apps/gui/folder_select.c index f2830fb8fd..706b166941 100644 --- a/apps/gui/folder_select.c +++ b/apps/gui/folder_select.c | |||
@@ -165,7 +165,10 @@ static struct folder* load_folder(struct folder* parent, char *folder) | |||
165 | } | 165 | } |
166 | char *name = folder_alloc_from_end(len+1); | 166 | char *name = folder_alloc_from_end(len+1); |
167 | if (!name) | 167 | if (!name) |
168 | { | ||
169 | closedir(dir); | ||
168 | return NULL; | 170 | return NULL; |
171 | } | ||
169 | memcpy(name, (char *)entry->d_name, len+1); | 172 | memcpy(name, (char *)entry->d_name, len+1); |
170 | child_count++; | 173 | child_count++; |
171 | first_child = name; | 174 | first_child = name; |