From 25dfa75ee39cb75794dd0cc088769b38bc66460a Mon Sep 17 00:00:00 2001 From: Hans Boehm Date: Wed, 10 Aug 2016 19:56:50 -0700 Subject: [PATCH] Do not stack allocate RefBase object in AaptAssets::filter Doing so is likely to trigger log messages in the future, and will hinder diagnosis of other problems. Bug: 30292538 Change-Id: I2cb8c507e43d06d4afa7e35b564416c1474c81d1 --- tools/aapt/AaptAssets.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/tools/aapt/AaptAssets.cpp b/tools/aapt/AaptAssets.cpp index d346731e63e22..f906ca3a9f628 100644 --- a/tools/aapt/AaptAssets.cpp +++ b/tools/aapt/AaptAssets.cpp @@ -1306,8 +1306,8 @@ bail: status_t AaptAssets::filter(Bundle* bundle) { - WeakResourceFilter reqFilter; - status_t err = reqFilter.parse(bundle->getConfigurations()); + sp reqFilter(new WeakResourceFilter()); + status_t err = reqFilter->parse(bundle->getConfigurations()); if (err != NO_ERROR) { return err; } @@ -1323,12 +1323,12 @@ status_t AaptAssets::filter(Bundle* bundle) preferredDensity = preferredConfig.density; } - if (reqFilter.isEmpty() && preferredDensity == 0) { + if (reqFilter->isEmpty() && preferredDensity == 0) { return NO_ERROR; } if (bundle->getVerbose()) { - if (!reqFilter.isEmpty()) { + if (!reqFilter->isEmpty()) { printf("Applying required filter: %s\n", bundle->getConfigurations().string()); } @@ -1380,7 +1380,7 @@ status_t AaptAssets::filter(Bundle* bundle) continue; } const ResTable_config& config(file->getGroupEntry().toParams()); - if (!reqFilter.match(config)) { + if (!reqFilter->match(config)) { if (bundle->getVerbose()) { printf("Pruning unneeded resource: %s\n", file->getPrintableSource().string());