From ca4af1768d663b41f13b49455242fda59ba1e74f Mon Sep 17 00:00:00 2001 From: Po Lu Date: Wed, 12 Nov 2025 01:13:46 +0800 Subject: [PATCH] Fix crash on Android 2.2 * src/android-asset.h (AAssetManager_open): Initialize desc and asset to NULL, lest `desc' be accessed uninitialized if C_NAME does not exist in the directory tree. --- src/android-asset.h | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/src/android-asset.h b/src/android-asset.h index a0206ec9459..b65875faa13 100644 --- a/src/android-asset.h +++ b/src/android-asset.h @@ -186,15 +186,13 @@ static AAsset * AAssetManager_open (AAssetManager *manager, const char *c_name, int mode) { - jobject desc; + jobject desc = NULL; jstring name; - AAsset *asset; + AAsset *asset = NULL; const char *asset_dir; jlong st_size = -1; /* Push a local frame. */ - asset = NULL; - (*(manager->env))->PushLocalFrame (manager->env, 3); if ((*(manager->env))->ExceptionCheck (manager->env)) @@ -226,8 +224,6 @@ AAssetManager_open (AAssetManager *manager, const char *c_name, stream directly upon the first attempt to read from the asset, sidestepping the intermediate AssetFileDescriptor. */ - desc = NULL; - if (st_size < 0) /* Otherwise attempt to open an ``AssetFileDescriptor''. */ desc = (*(manager->env))->CallObjectMethod (manager->env,