summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Romain Guy <romainguy@google.com> 2011-12-08 18:19:39 -0800
committer Romain Guy <romainguy@google.com> 2011-12-08 18:50:27 -0800
commit46b9f7cc2047ac16ecf36ffb6c6d3def0a5f5ccb (patch)
tree744df6ca395ccbac5b29af737066544c63ebe343
parente98ae0a050d6ce4b3e2aec7c070a87922086c256 (diff)
GenerationCache::get would return a random value instead of NULL
Bug #5401917 This was causing a ton of random crashes in apps. Change-Id: I9069a060824ec89115cd3bcd38beaeb9ecc4488e
-rw-r--r--include/utils/GenerationCache.h6
1 files changed, 4 insertions, 2 deletions
diff --git a/include/utils/GenerationCache.h b/include/utils/GenerationCache.h
index 83cda8689fd1..da85a9aebbb1 100644
--- a/include/utils/GenerationCache.h
+++ b/include/utils/GenerationCache.h
@@ -88,11 +88,13 @@ private:
void attachToCache(const sp<Entry<K, V> >& entry);
void detachFromCache(const sp<Entry<K, V> >& entry);
+
+ const V mNullValue;
}; // class GenerationCache
template<typename K, typename V>
GenerationCache<K, V>::GenerationCache(uint32_t maxCapacity): mMaxCapacity(maxCapacity),
- mListener(NULL) {
+ mListener(NULL), mNullValue(NULL) {
};
template<typename K, typename V>
@@ -154,7 +156,7 @@ const V& GenerationCache<K, V>::get(const K& key) {
return entry->value;
}
- return NULL;
+ return mNullValue;
}
template<typename K, typename V>