summaryrefslogtreecommitdiffstats
path: root/libs/utils
diff options
context:
space:
mode:
authorKenny Root <kroot@google.com>2010-10-22 09:14:28 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2010-10-22 09:14:28 -0700
commitda36c84a9706b1a7a1052113dcec527d0c71156e (patch)
tree7666f00d7920a601b7cc3dd4e715dd2b1bbad76e /libs/utils
parent0865f7629a6fc0dba81cb42451b3eba6f34efe9d (diff)
parent7ba8c44ef7ba22d83a670e50314d69d0ddce1b9c (diff)
downloadframeworks_base-da36c84a9706b1a7a1052113dcec527d0c71156e.zip
frameworks_base-da36c84a9706b1a7a1052113dcec527d0c71156e.tar.gz
frameworks_base-da36c84a9706b1a7a1052113dcec527d0c71156e.tar.bz2
am 7ba8c44e: am 8ad30b5b: Merge "Initialized check in ZipFileRO::findEntryByName" into gingerbread
Merge commit '7ba8c44ef7ba22d83a670e50314d69d0ddce1b9c' * commit '7ba8c44ef7ba22d83a670e50314d69d0ddce1b9c': Initialized check in ZipFileRO::findEntryByName
Diffstat (limited to 'libs/utils')
-rw-r--r--libs/utils/ZipFileRO.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/libs/utils/ZipFileRO.cpp b/libs/utils/ZipFileRO.cpp
index 5ff1f8f..4261196 100644
--- a/libs/utils/ZipFileRO.cpp
+++ b/libs/utils/ZipFileRO.cpp
@@ -412,10 +412,18 @@ void ZipFileRO::addToHash(const char* str, int strLen, unsigned int hash)
/*
* Find a matching entry.
*
- * Returns 0 if not found.
+ * Returns NULL if not found.
*/
ZipEntryRO ZipFileRO::findEntryByName(const char* fileName) const
{
+ /*
+ * If the ZipFileRO instance is not initialized, the entry number will
+ * end up being garbage since mHashTableSize is -1.
+ */
+ if (mHashTableSize <= 0) {
+ return NULL;
+ }
+
int nameLen = strlen(fileName);
unsigned int hash = computeHash(fileName, nameLen);
int ent = hash & (mHashTableSize-1);