From f0da0b0be4c70eeb94e44847eed9632f01f49807 Mon Sep 17 00:00:00 2001 From: memchr <118117622+memchr@users.noreply.github.com> Date: Fri, 25 Aug 2023 15:21:55 +0000 Subject: input: improved path handling; null check return value of fopen. (#3061) --- src/managers/input/InputManager.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'src/managers/input/InputManager.cpp') diff --git a/src/managers/input/InputManager.cpp b/src/managers/input/InputManager.cpp index 7bc84b82..80869a77 100644 --- a/src/managers/input/InputManager.cpp +++ b/src/managers/input/InputManager.cpp @@ -784,10 +784,9 @@ void CInputManager::applyConfigToKeyboard(SKeyboard* pKeyboard) { if (!FILEPATH.empty()) { auto path = absolutePath(FILEPATH, g_pConfigManager->configCurrentPath); - if (!std::filesystem::exists(path)) - Debug::log(ERR, "input:kb_file= file doesnt exist"); + if (FILE* const KEYMAPFILE = fopen(path.c_str(), "r"); !KEYMAPFILE) + Debug::log(ERR, "Cannot open input:kb_file= file for reading"); else { - FILE* const KEYMAPFILE = fopen(FILEPATH.c_str(), "r"); KEYMAP = xkb_keymap_new_from_file(CONTEXT, KEYMAPFILE, XKB_KEYMAP_FORMAT_TEXT_V1, XKB_KEYMAP_COMPILE_NO_FLAGS); fclose(KEYMAPFILE); } -- cgit v1.2.3