From f5f523c923531c55d397070ba4ee4f8a8f5f8a63 Mon Sep 17 00:00:00 2001 From: David Oberhollenzer Date: Fri, 28 Feb 2020 15:22:17 +0100 Subject: Minor fix in file browser demo - Make sure to release the inode returne by the dir reader - Check the path resolution return code in change_directory Signed-off-by: David Oberhollenzer --- extras/browse.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'extras') diff --git a/extras/browse.c b/extras/browse.c index 1b32135..5b27dc6 100644 --- a/extras/browse.c +++ b/extras/browse.c @@ -29,6 +29,7 @@ static sqfs_data_reader_t *data; static void change_directory(const char *dirname) { sqfs_inode_generic_t *inode; + int ret; if (dirname == NULL || *dirname == '/') { free(working_dir); @@ -38,8 +39,13 @@ static void change_directory(const char *dirname) } if (dirname != NULL) { - sqfs_dir_reader_find_by_path(dr, working_dir, - dirname, &inode); + ret = sqfs_dir_reader_find_by_path(dr, working_dir, + dirname, &inode); + if (ret != 0) { + printf("Error resolving '%s', error code %d\n", + dirname, ret); + return; + } free(working_dir); working_dir = inode; @@ -452,6 +458,8 @@ static void cat_cmd(const char *filename) fwrite(buffer, 1, diff, stdout); offset += diff; } + + free(inode); } /*****************************************************************************/ -- cgit v1.2.3