diff options
author | Mario Six <mario.six@gdsys.cc> | 2018-10-04 10:22:24 +0300 |
---|---|---|
committer | Simon Glass <sjg@chromium.org> | 2018-11-14 20:16:27 +0300 |
commit | 205dd5afe59db2a471b756fa04c30232fa29e5c6 (patch) | |
tree | 938390ce9e76c1257bccfaac34a6eab778125d15 /drivers/core | |
parent | ab88bd2b6a160310953a230d4a4c334ea6a65d3b (diff) | |
download | u-boot-205dd5afe59db2a471b756fa04c30232fa29e5c6.tar.xz |
core: ofnode: Fix mem leak in error path
A newly created property is currently not freed if a name could not be
allocated. This patch fixes the resulting memory leak in the error
patch.
Reported-by: Coverity (CID: 184085)
Fixes: e369e58df79c ("core: Add functions to set properties in live-tree")
Signed-off-by: Mario Six <mario.six@gdsys.cc>
Diffstat (limited to 'drivers/core')
-rw-r--r-- | drivers/core/ofnode.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/core/ofnode.c b/drivers/core/ofnode.c index b7b7ad3a62..d9b5280b2d 100644 --- a/drivers/core/ofnode.c +++ b/drivers/core/ofnode.c @@ -831,8 +831,10 @@ int ofnode_write_prop(ofnode node, const char *propname, int len, return -ENOMEM; new->name = strdup(propname); - if (!new->name) + if (!new->name) { + free(new); return -ENOMEM; + } new->value = (void *)value; new->length = len; |