eden-miror/src
bdm110 fb6330645a
Some checks are pending
tx-src / sources (push) Waiting to run
Check Strings / check-strings (push) Waiting to run
[file_sys] Avoid crash on empty NACP language entries (#4062)
This fixes an Android game library scan crash when reading XCI title metadata with empty or incomplete NACP language entries.

Previously, NACP::GetLanguageEntry() could fall back to:

language_entries.at(static_cast<u8>(Language::AmericanEnglish))

When language_entries was empty, this threw std::out_of_range and aborted the Android scan thread.

The new fallback preserves the existing lookup order:
1. preferred language entry with non-empty application name
2. any entry with non-empty application name
3. first available entry
4. static empty LanguageEntry if no entries exist

Tested locally with a Mainline RelWithDebInfo APK on Odin3 Android 15 using a large external TF-card ROM directory. The previous build crashed during fresh ROM scan; the patched build completes scanning normally.

Related my issue:
https://github.com/eden-emulator/Issue-Reports/issues/500

Co-authored-by: bdm110 <bdm110@prontmail.com>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4062
Reviewed-by: Lizzie <lizzie@eden-emu.dev>
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
Reviewed-by: crueter <crueter@eden-emu.dev>
2026-06-05 17:20:24 +02:00
..
android [cmake] Bump minimum version to 3.31 (#4055) 2026-06-04 15:28:39 +02:00
audio_core [audio_core] fix OOB copy when silencing channel on shutdown (#3969) 2026-05-31 02:38:26 +02:00
common [net] Add support for future macOS PGO shenanigans (#4050) 2026-06-05 02:24:26 +02:00
core [file_sys] Avoid crash on empty NACP language entries (#4062) 2026-06-05 17:20:24 +02:00
dedicated_room [desktop] More qt_common reorganization (#3916) 2026-05-20 04:49:16 +02:00
dynarmic [dynarmic, loongarch64] Add minimal toy implementation enough to execute LSLS (#4054) 2026-06-05 02:32:06 +02:00
frontend_common [*] basic in-house cpp linting (#4039) 2026-06-04 05:49:07 +02:00
hid_core [*] basic in-house cpp linting (#4039) 2026-06-04 05:49:07 +02:00
input_common [*] basic in-house cpp linting (#4039) 2026-06-04 05:49:07 +02:00
network [common] unify std::random_device (#3801) 2026-03-31 20:12:41 +02:00
qt_common [*] basic in-house cpp linting (#4039) 2026-06-04 05:49:07 +02:00
shader_recompiler [*] basic in-house cpp linting (#4039) 2026-06-04 05:49:07 +02:00
tests [cmake] fixes for XCode when having languages other than C/C++ (#3772) 2026-03-26 04:46:43 +01:00
video_core [*] basic in-house cpp linting (#4039) 2026-06-04 05:49:07 +02:00
web_service [cmake, deps] conjure common/httplib.h and remove global def for httplib macros (#3800) 2026-04-06 19:13:09 +02:00
yuzu [net] Add support for future macOS PGO shenanigans (#4050) 2026-06-05 02:24:26 +02:00
yuzu_cmd [externals] Update to SDL3 (#3952) 2026-05-18 19:07:41 +02:00
yuzu_room_standalone [cmake] add a YUZU_STATIC_ROOM option (#3411) 2026-01-28 23:54:49 +01:00
.clang-format
CMakeLists.txt [dynarmic] bootstrap loongarch64 host build (#4015) 2026-05-30 01:42:23 +02:00
dep_hashes.h.in [cmake, frontend] feat: CPMUtil + dependency viewer (#238) 2025-08-11 22:27:29 +02:00