Merge "fastboot: Don't leak file in error case" am: 3a197b3799
am: 0c8a67bbfd
Change-Id: I3939b2c4a64f2d9f6513850abf00e93a2b904648
diff --git a/fastboot/fastboot.cpp b/fastboot/fastboot.cpp
index f622ea7..d61c3e5 100644
--- a/fastboot/fastboot.cpp
+++ b/fastboot/fastboot.cpp
@@ -579,6 +579,7 @@
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;
}
@@ -586,10 +587,12 @@
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;
}