diff options
author | Jean-Christophe Dubois <jcd@tribudubois.net> | 2016-07-13 00:36:08 +0200 |
---|---|---|
committer | David Gibson <david@gibson.dropbear.id.au> | 2016-07-24 01:05:05 +1000 |
commit | f79ddb83e18505b522700476e546591bae6a9d4f (patch) | |
tree | 3bbeff3add095bc5c69f6929778e9175d9fccc20 /fdtget.c | |
parent | 1074ee54b63f85603e0fc91614eebda9d7409035 (diff) | |
download | dtc-f79ddb83e18505b522700476e546591bae6a9d4f.zip dtc-f79ddb83e18505b522700476e546591bae6a9d4f.tar.gz dtc-f79ddb83e18505b522700476e546591bae6a9d4f.tar.bz2 |
fdtget.c: Fix memory leak
CID 132823 (#1 of 1): Resource leak (RESOURCE_LEAK)
5. leaked_storage: Variable blob going out of scope leaks the storage it points to.
Signed-off-by: Jean-Christophe Dubois <jcd@tribudubois.net>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Diffstat (limited to 'fdtget.c')
-rw-r--r-- | fdtget.c | 8 |
1 files changed, 7 insertions, 1 deletions
@@ -266,14 +266,20 @@ static int do_fdtget(struct display_info *disp, const char *filename, continue; } else { report_error(arg[i], node); + free(blob); return -1; } } prop = args_per_step == 1 ? NULL : arg[i + 1]; - if (show_data_for_item(blob, disp, node, prop)) + if (show_data_for_item(blob, disp, node, prop)) { + free(blob); return -1; + } } + + free(blob); + return 0; } |