Martin Roth has submitted this change. ( https://review.coreboot.org/c/coreboot/+/69220 )
Change subject: cbfstool: Fix possible memory leak ......................................................................
cbfstool: Fix possible memory leak
Handle the possible memory leak scenario.
Foundby=klocwork BUG=NONE TEST=Boot to OS on Nivviks
Change-Id: I01c4643d1e671d9bd9971ac6db8031634fffd61e Signed-off-by: Shaik Shahina shahina.shaik@intel.com Reviewed-on: https://review.coreboot.org/c/coreboot/+/69220 Reviewed-by: Shahina Shaik shahina.shaik@intel.corp-partner.google.com Tested-by: build bot (Jenkins) no-reply@coreboot.org Reviewed-by: Yu-Ping Wu yupingso@google.com --- M util/cbfstool/cbfstool.c M util/cbfstool/common.c 2 files changed, 28 insertions(+), 3 deletions(-)
Approvals: build bot (Jenkins): Verified Yu-Ping Wu: Looks good to me, approved Shahina Shaik: Looks good to me, but someone else must approve
diff --git a/util/cbfstool/cbfstool.c b/util/cbfstool/cbfstool.c index 04b91e5..d26c418 100644 --- a/util/cbfstool/cbfstool.c +++ b/util/cbfstool/cbfstool.c @@ -770,8 +770,8 @@ */ if (param.topswap_size) { if (update_master_header_loc_topswap(&image, h_loc, - header_offset)) - return 1; + header_offset)) + goto done; }
ret = maybe_update_metadata_hash(&image); diff --git a/util/cbfstool/common.c b/util/cbfstool/common.c index 8ae9120..7154bc9 100644 --- a/util/cbfstool/common.c +++ b/util/cbfstool/common.c @@ -34,8 +34,13 @@ if (!buffer->data) { fprintf(stderr, "buffer_create: Insufficient memory (0x%zx).\n", size); + if (buffer->name) { + free(buffer->name); + buffer->name = NULL; + } + return -1; } - return (buffer->data == NULL); + return 0; }
int buffer_from_file_aligned_size(struct buffer *buffer, const char *filename,