diff options
author | qiuguorui1 <qiuguorui1@huawei.com> | 2020-12-01 12:06:16 +0800 |
---|---|---|
committer | Simon Horman <horms@verge.net.au> | 2020-12-09 13:42:16 +0100 |
commit | fa917094e1a9a6d75fb0bdfeb9b4aebc1b9f87d6 (patch) | |
tree | 1c32b181de9964f6064819520fcfc0e21e586473 /kexec | |
parent | d4eaff6b84292ca0231505c4aba8cc6b55df79e3 (diff) |
dt-ops: fix memory leak when new_node malloc fails
In function dtb_set_property, when malloc new_node fails,
we need to free new_dtb before return.
Fixes: f56cbcf4c2766 ("kexec/dt-ops.c: Fix '/chosen' v/s 'chosen' node
being passed to fdt helper functions")
Signed-off-by: qiuguorui1 <qiuguorui1@huawei.com>
Signed-off-by: Simon Horman <horms@verge.net.au>
Diffstat (limited to 'kexec')
-rw-r--r-- | kexec/dt-ops.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/kexec/dt-ops.c b/kexec/dt-ops.c index dd2feaa..0a96b75 100644 --- a/kexec/dt-ops.c +++ b/kexec/dt-ops.c @@ -89,7 +89,8 @@ int dtb_set_property(char **dtb, off_t *dtb_size, const char *node, new_node = malloc(strlen("/") + strlen(node) + 1); if (!new_node) { dbgprintf("%s: malloc failed\n", __func__); - return -ENOMEM; + result = -ENOMEM; + goto on_error; } strcpy(new_node, "/"); |