diff options
author | Fletcher Woodruff <fletcherw@chromium.org> | 2019-03-11 13:33:40 -0600 |
---|---|---|
committer | chrome-bot <chrome-bot@chromium.org> | 2019-03-13 21:05:07 -0700 |
commit | 2f6381ec0360b96ba836168b4635ceaaf4aff262 (patch) | |
tree | ba73fe92a449b3a965d143aed468e491e8914154 /cgpt/cgpt_show.c | |
parent | 3bfaab121cbafbd5c6d57004df6784866b8de5de (diff) | |
download | vboot-2f6381ec0360b96ba836168b4635ceaaf4aff262.tar.gz |
Fix memory leaks in cgpt
DriveOpen mallocs a couple of buffers, but DriveClose only freed them if a
particular flag was passed causing GptSave to be called. Move the free calls
out of GptSave so that the buffers are always freed, and add DriveClose calls
to a couple of cgpt functions that are missing them.
BUG=chromium:940543
TEST=precq passes, manual testing with cgpt/valgrind shows that memory leaks
for cgpt find, show are fixed.
BRANCH=none
Change-Id: I58aeddfa6b8b4715ba4f8e064e95a660371a01c9
Reviewed-on: https://chromium-review.googlesource.com/1516413
Commit-Ready: Fletcher Woodruff <fletcherw@chromium.org>
Tested-by: Fletcher Woodruff <fletcherw@chromium.org>
Reviewed-by: Julius Werner <jwerner@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>
Diffstat (limited to 'cgpt/cgpt_show.c')
-rw-r--r-- | cgpt/cgpt_show.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/cgpt/cgpt_show.c b/cgpt/cgpt_show.c index 2b882778..7240a6a7 100644 --- a/cgpt/cgpt_show.c +++ b/cgpt/cgpt_show.c @@ -385,9 +385,7 @@ int CgptShow(CgptShowParams *params) { params->drive_size)) return CGPT_FAILED; - if (GptShow(&drive, params)) - return CGPT_FAILED; - + int ret = GptShow(&drive, params); DriveClose(&drive, 0); - return CGPT_OK; + return ret; } |