aboutsummaryrefslogtreecommitdiff
path: root/fdtput.c
diff options
context:
space:
mode:
authorJean-Christophe Dubois <jcd@tribudubois.net>2016-07-13 00:36:21 +0200
committerDavid Gibson <david@gibson.dropbear.id.au>2016-07-24 01:05:05 +1000
commitc539075ba8ba61fffbf7e005ce2e834868a9e0ab (patch)
tree23867cd9e5d647ec9729b60f7945c33229a31ace /fdtput.c
parentf79ddb83e18505b522700476e546591bae6a9d4f (diff)
downloaddtc-c539075ba8ba61fffbf7e005ce2e834868a9e0ab.zip
dtc-c539075ba8ba61fffbf7e005ce2e834868a9e0ab.tar.gz
dtc-c539075ba8ba61fffbf7e005ce2e834868a9e0ab.tar.bz2
fdtput.c: Fix memory leak.
CID 132821 (#1 of 1): Resource leak (RESOURCE_LEAK) 12. leaked_storage: Variable value 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 'fdtput.c')
-rw-r--r--fdtput.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/fdtput.c b/fdtput.c
index 9b15c53..db65e96 100644
--- a/fdtput.c
+++ b/fdtput.c
@@ -328,7 +328,7 @@ static int delete_node(char *blob, const char *node_name)
static int do_fdtput(struct display_info *disp, const char *filename,
char **arg, int arg_count)
{
- char *value;
+ char *value = NULL;
char *blob;
char *node;
int len, ret = 0;
@@ -374,6 +374,11 @@ static int do_fdtput(struct display_info *disp, const char *filename,
}
free(blob);
+
+ if (value) {
+ free(value);
+ }
+
return ret;
}