From: jeon Date: Mon, 24 Feb 2020 08:33:20 +0000 (+0900) Subject: pepper_keyrouter: fix a toctou race condition to open a file X-Git-Tag: submit/tizen/20200225.010716~2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fchanges%2F50%2F225750%2F5;p=platform%2Fcore%2Fuifw%2Fpepper.git pepper_keyrouter: fix a toctou race condition to open a file Change-Id: I04309a066310337881563574b891b98cd1078f9a --- 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);