diff options
author | Tom Rini <trini@konsulko.com> | 2016-10-17 21:09:32 -0400 |
---|---|---|
committer | Simon Glass <sjg@chromium.org> | 2016-12-02 10:37:47 -0700 |
commit | 0317724e6c5db6229dbdc03dd9c9b68a559973fe (patch) | |
tree | bf9dd795848f7d1c2a8202c5888a51563af1ecdc /fs/sandbox | |
parent | a982b6f5149387d931442837f598c9589bbd12bf (diff) |
sandboxfs: Fix resource leak
Now that we free resources in sandbox_fs_ls Coverity is letting us know
that in some cases we might leak. So in case of error we should still
let os_dirent_free free anything that was allocated.
Fixes: 86167089b71c ("sandbox/fs: Free memory allocated by os_dirent_ls")
Reported-by: Coverity (CID: 153450)
Cc: Stefan BrĂ¼ns <stefan.bruens@rwth-aachen.de>
Cc: Simon Glass <sjg@chromium.org>
Signed-off-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'fs/sandbox')
-rw-r--r-- | fs/sandbox/sandboxfs.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/fs/sandbox/sandboxfs.c b/fs/sandbox/sandboxfs.c index cd10fd6845f..ca802613370 100644 --- a/fs/sandbox/sandboxfs.c +++ b/fs/sandbox/sandboxfs.c @@ -88,15 +88,16 @@ int sandbox_fs_ls(const char *dirname) ret = os_dirent_ls(dirname, &head); if (ret) - return ret; + goto out; for (node = head; node; node = node->next) { printf("%s %10lu %s\n", os_dirent_get_typename(node->type), node->size, node->name); } +out: os_dirent_free(head); - return 0; + return ret; } int sandbox_fs_exists(const char *filename) |