aboutsummaryrefslogtreecommitdiff
path: root/fdtget.c
diff options
context:
space:
mode:
authorJean-Christophe Dubois <jcd@tribudubois.net>2016-07-13 00:36:08 +0200
committerDavid Gibson <david@gibson.dropbear.id.au>2016-07-24 01:05:05 +1000
commitf79ddb83e18505b522700476e546591bae6a9d4f (patch)
tree3bbeff3add095bc5c69f6929778e9175d9fccc20 /fdtget.c
parent1074ee54b63f85603e0fc91614eebda9d7409035 (diff)
downloaddtc-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.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/fdtget.c b/fdtget.c
index 4377419..fb9d0e1 100644
--- a/fdtget.c
+++ b/fdtget.c
@@ -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;
}