Add null check before strdup() 74/223374/3 accepted/tizen/unified/20200130.214648 submit/tizen/20200129.094955
authorYunjin Lee <yunjin-.lee@samsung.com>
Wed, 29 Jan 2020 06:34:29 +0000 (15:34 +0900)
committerYunjin Lee <yunjin-.lee@samsung.com>
Wed, 29 Jan 2020 06:38:41 +0000 (15:38 +0900)
Change-Id: Ia67e28c0efeda6987d6e8591574c1cc34060b454
Signed-off-by: Yunjin Lee <yunjin-.lee@samsung.com>
packaging/privilege-info.spec
src/privilege_information.c

index eefdaa9..b4fc806 100644 (file)
@@ -1,6 +1,6 @@
 Name:    privilege-info
 Summary: Privilege Information
-Version: 0.0.3
+Version: 0.0.4
 Release: 1
 Group:   Security/API
 License: Apache-2.0
index 6a283d9..aa1cffa 100755 (executable)
@@ -169,6 +169,7 @@ int privilege_info_get_display_name(const char *api_version, const char *privile
                        temp = token;
                        token = strtok_r(NULL, "/", &save);
                }
+               TryReturn(temp != NULL, free(tempPrivilege), PRVINFO_ERROR_INVALID_PARAMETER, "[PRVINFO_ERROR_INVALID_PARAMETER] invalid privilege <%s>", privilege);
                *display_name = strdup(temp);
                TryReturn(*display_name != NULL, free(tempPrivilege), PRVINFO_ERROR_OUT_OF_MEMORY, "[PRVINFO_ERROR_OUT_OF_MEMORY] Memory allocation failed.");
                free(tempPrivilege);
@@ -231,6 +232,7 @@ int privilege_info_get_display_name_by_pkgtype(const char *package_type, const c
                        temp = token;
                        token = strtok_r(NULL, "/", &save);
                }
+               TryReturn(temp != NULL, free(tempPrivilege), PRVINFO_ERROR_INVALID_PARAMETER, "[PRVINFO_ERROR_INVALID_PARAMETER] invalid privilege <%s>", privilege);
                *display_name = strdup(temp);
                TryReturn(*display_name != NULL, free(tempPrivilege), PRVINFO_ERROR_OUT_OF_MEMORY, "[PRVINFO_ERROR_OUT_OF_MEMORY] Memory allocation failed.");
                free(tempPrivilege);