diff --git a/libs/androidfw/ResourceTypes.cpp b/libs/androidfw/ResourceTypes.cpp index a7300652077b2..094def4cb28cc 100644 --- a/libs/androidfw/ResourceTypes.cpp +++ b/libs/androidfw/ResourceTypes.cpp @@ -5038,11 +5038,14 @@ status_t ResTable::parsePackage(const ResTable_package* const pkg, } else { group = mPackageGroups.itemAt(idx-1); if (group == NULL) { + delete package; return (mError=UNKNOWN_ERROR); } } err = group->packages.add(package); if (err < NO_ERROR) { + delete group; + delete package; return (mError=err); } } else {