Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 71dfc7e9 authored by Narayan Kamath's avatar Narayan Kamath Committed by Gerrit Code Review
Browse files

Merge "Memory leak in parsePackage"

parents 2a0f9e6a 5f7ce10c
Loading
Loading
Loading
Loading
+15 −5
Original line number Diff line number Diff line
@@ -5405,24 +5405,34 @@ status_t ResTable::parsePackage(const ResTable_package* const pkg,
                return (mError=err);
            }

            err = group->packages.add(package);
            if (err < NO_ERROR) {
                delete group;
                delete package;
                return (mError=err);
            }
            group->basePackage = package;

            //printf("Adding new package id %d at index %d\n", id, idx);
            err = mPackageGroups.add(group);
            if (err < NO_ERROR) {
                delete group;
                return (mError=err);
            }
            group->basePackage = package;

            mPackageMap[id] = (uint8_t)idx;
        } 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 package;
                return (mError=err);
            }
        }
    } else {
        LOG_ALWAYS_FATAL("Package id out of range");
        return NO_ERROR;