fastboot: Don't leak file in error case
This is probably not very significant in this standalone tool, but makes it easier for us to find leaks in our other system code via static analysis. (cherry-pick of 407a2195391685627e6be947491041ae3c8cbe61.) Change-Id: I4e14cadc1e53bac0848e0e0c7f531f920e43cb0a
This commit is contained in:
parent
07f14c9cdd
commit
dc9b62ba74
1 changed files with 3 additions and 0 deletions
|
@ -519,6 +519,7 @@ static int unzip_to_file(ZipArchiveHandle zip, char* entry_name) {
|
|||
ZipEntry zip_entry;
|
||||
if (FindEntry(zip, zip_entry_name, &zip_entry) != 0) {
|
||||
fprintf(stderr, "archive does not contain '%s'\n", entry_name);
|
||||
fclose(fp);
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
@ -526,10 +527,12 @@ static int unzip_to_file(ZipArchiveHandle zip, char* entry_name) {
|
|||
int error = ExtractEntryToFile(zip, &zip_entry, fd);
|
||||
if (error != 0) {
|
||||
fprintf(stderr, "failed to extract '%s': %s\n", entry_name, ErrorCodeString(error));
|
||||
fclose(fp);
|
||||
return -1;
|
||||
}
|
||||
|
||||
lseek(fd, 0, SEEK_SET);
|
||||
// TODO: We're leaking 'fp' here.
|
||||
return fd;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue