From 5a7587fa90732c013bb9266f1bdae0a557455c15 Mon Sep 17 00:00:00 2001 From: Narayan Kamath Date: Mon, 11 May 2015 15:45:36 +0100 Subject: [PATCH] Fix file descriptor leak when opening invalid archives. I've inspected all other callers of OpenArchive and this seems to be the only broken one. The easiest way to reproduce this is by using getPackageArchiveInfo or by adding an asset path that isn't a valid APK. bug: https://code.google.com/p/android/issues/detail?id=171099 Change-Id: I41cd85d20f26ad47968e2a6f1384cc03330b558b --- libs/androidfw/ZipFileRO.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/libs/androidfw/ZipFileRO.cpp b/libs/androidfw/ZipFileRO.cpp index af3d9b3bd716..93b1d56c699c 100644 --- a/libs/androidfw/ZipFileRO.cpp +++ b/libs/androidfw/ZipFileRO.cpp @@ -68,6 +68,7 @@ ZipFileRO::~ZipFileRO() { const int32_t error = OpenArchive(zipFileName, &handle); if (error) { ALOGW("Error opening archive %s: %s", zipFileName, ErrorCodeString(error)); + CloseArchive(handle); return NULL; } -- 2.11.0