mirror of
https://github.com/libsdl-org/SDL.git
synced 2026-07-20 16:01:15 +00:00
android: EnumerateDirectory and GetPathInfo should fail for a path of "".
Otherwise, this will get appended to the internal storage path, etc, making a real directory when it shouldn't. Reference Issue #15587.
This commit is contained in:
@@ -45,7 +45,9 @@ bool SDL_SYS_EnumerateDirectory(const char *path, SDL_EnumerateDirectoryCallback
|
||||
char *apath = NULL; // absolute path (for Android, iOS, etc). Overrides `path`.
|
||||
|
||||
#if defined(SDL_PLATFORM_ANDROID) || defined(SDL_PLATFORM_IOS)
|
||||
if (*path != '/') {
|
||||
if (*path == '\0') {
|
||||
return SDL_SetError("No such file or directory");
|
||||
} else if (*path != '/') {
|
||||
#ifdef SDL_PLATFORM_ANDROID
|
||||
if (SDL_strncmp(path, "assets://", 9) == 0) {
|
||||
char *pathwithsep = NULL;
|
||||
@@ -348,7 +350,9 @@ bool SDL_SYS_GetPathInfo(const char *path, SDL_PathInfo *info)
|
||||
int rc;
|
||||
|
||||
#ifdef SDL_PLATFORM_ANDROID
|
||||
if (*path == '/') {
|
||||
if (*path == '\0') {
|
||||
return SDL_SetError("No such file or directory");
|
||||
} else if (*path == '/') {
|
||||
rc = stat(path, &statbuf);
|
||||
} else if (SDL_strncmp(path, "assets://", 9) == 0) {
|
||||
return Android_JNI_GetAssetPathInfo(path, info);
|
||||
|
||||
Reference in New Issue
Block a user