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
This commit is contained in:
Sam Gao
2023-02-06 01:27:19 -08:00
parent 2f18344d98
commit 5a4db98164
2 changed files with 1 additions and 7 deletions

View File

@@ -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);

View File

@@ -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);