From 9a90a0157538b3fedb449f577cb0c6977fb3e70c Mon Sep 17 00:00:00 2001 From: jeon Date: Mon, 24 Feb 2020 17:33:20 +0900 Subject: [PATCH] pepper_keyrouter: fix a toctou race condition to open a file Change-Id: I04309a066310337881563574b891b98cd1078f9a --- src/lib/keyrouter/pepper-keyrouter.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/src/lib/keyrouter/pepper-keyrouter.c b/src/lib/keyrouter/pepper-keyrouter.c index d378e69..851073a 100644 --- a/src/lib/keyrouter/pepper-keyrouter.c +++ b/src/lib/keyrouter/pepper-keyrouter.c @@ -27,6 +27,7 @@ #include #include #include +#include #define MIN(a,b) ((a)<(b)?(a):(b)) @@ -673,13 +674,8 @@ _pepper_keyrouter_options_set(pepper_keyrouter_t *pepper_keyrouter) pepper_keyrouter->opts = (key_options_t *)calloc(KEYROUTER_MAX_KEYS, sizeof(key_options_t)); PEPPER_CHECK(pepper_keyrouter->opts, return, "Failed to alloc memory for options\n") ; - if (access(KEYLAYOUT_DIR, R_OK) != 0) { - PEPPER_ERROR("Failed to access key layout file(%s)\n", KEYLAYOUT_DIR); - goto finish; - } - file = fopen(KEYLAYOUT_DIR, "r"); - PEPPER_CHECK(file, goto finish, "Failed to open key layout file(%s)\n", KEYLAYOUT_DIR); + PEPPER_CHECK(file, goto finish, "Failed to open key layout file(%s): (errno: %s)\n", KEYLAYOUT_DIR, strerror(errno)); while (!feof(file)) { ret = fgets(buf, 1024, file); -- 2.34.1