summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Sam Gao <ssgao@meta.com> 2023-02-06 01:27:19 -0800
committer Sam Gao <ssgao@meta.com> 2023-03-14 03:17:53 -0700
commit5a4db981644ccf7a266fbb3fe41758b2a5a85eac (patch)
treea28b59a20ef3e0224b0be9f64533d730b2384b99
parent2f18344d982e7c50922fa099a007646702a16a0f (diff)
Remove usage of mFileName in ObbInfo
This field was not being set but was used in storage_manager.cpp:89, which constructed a String16 using the nullptr. This internally calls strlen on the null pointer, which causes a seg fault. Since mFileName is not being set and getFileName has no other callsites, remove the field altogether so nobody else tries to use it and pass in the expected value at its only callsite. Test: Calling AStorageManager_mountObb from NDK does not result in a crash. Signed-off-by: Sam Gao <ssgao@meta.com> Upstream from Meta. Change-Id: I4374148f466dacd62c659d3c94fd309674cb2d34
-rw-r--r--libs/androidfw/include/androidfw/ObbFile.h6
-rw-r--r--native/android/storage_manager.cpp2
2 files changed, 1 insertions, 7 deletions
diff --git a/libs/androidfw/include/androidfw/ObbFile.h b/libs/androidfw/include/androidfw/ObbFile.h
index 3dbf997dc367..38ece5c1546f 100644
--- a/libs/androidfw/include/androidfw/ObbFile.h
+++ b/libs/androidfw/include/androidfw/ObbFile.h
@@ -43,10 +43,6 @@ public:
bool removeFrom(const char* filename);
bool removeFrom(int fd);
- const char* getFileName() const {
- return mFileName;
- }
-
const String8 getPackageName() const {
return mPackageName;
}
@@ -127,8 +123,6 @@ private:
/* The encryption salt. */
unsigned char mSalt[8];
- const char* mFileName;
-
size_t mFooterStart;
bool parseObbFile(int fd);
diff --git a/native/android/storage_manager.cpp b/native/android/storage_manager.cpp
index 9e0a6eb476d3..294ca9cfd3b4 100644
--- a/native/android/storage_manager.cpp
+++ b/native/android/storage_manager.cpp
@@ -86,7 +86,7 @@ protected:
return nullptr;
}
- String16 fileName(obbFile->getFileName());
+ String16 fileName(canonicalPath);
String16 packageName(obbFile->getPackageName());
size_t length;
const unsigned char* salt = obbFile->getSalt(&length);