Check executable file 81/248281/1
authorHwankyu Jhun <h.jhun@samsung.com>
Wed, 25 Nov 2020 04:56:48 +0000 (13:56 +0900)
committerHwankyu Jhun <h.jhun@samsung.com>
Wed, 25 Nov 2020 04:56:48 +0000 (13:56 +0900)
If an executable file is not executable, AMD rejects the launch request.

Change-Id: I3b77c9b0b3141b86ba77281e995b0b96f2779bd4
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
src/lib/amd_launch.c

index 676e44491cfa06371353935a5f7613f95f9207c0..2c2e32b311186322caf465741dfd5df65fbba787 100644 (file)
@@ -2541,9 +2541,22 @@ static int __check_executable(const struct appinfo *ai)
 {
        const char *status;
        const char *ignore;
+       const char *exec;
        int enable;
        int ret;
 
+       exec = _appinfo_get_value(ai, AIT_EXEC);
+       if (exec == NULL) {
+               _E("Failed to get executable file path");
+               return -ENOENT;
+       }
+
+       ret = access(exec, X_OK);
+       if (ret != 0) {
+               _E("%s is not executable. errno(%d)", exec, errno);
+               return -errno;
+       }
+
        status = _appinfo_get_value(ai, AIT_STATUS);
        if (status == NULL) {
                _E("Failed to get status value");