update client permission function NULL check added.
authorLim DoHyung <delight.lim@samsung.com>
Fri, 23 Dec 2016 06:10:44 +0000 (15:10 +0900)
committerHyeKyoung Hwang <cookie@samsung.com>
Thu, 29 Dec 2016 01:31:04 +0000 (10:31 +0900)
Change-Id: I8b5d5a4fac2e33a23f2db5fe657376459997615a
Signed-off-by: Lim DoHyung <delight.lim@samsung.com>
provider/browser-provider-requests-manager.c

index b6d365e0bbbe55067206a29e5a062c0976dd6918..8b05fe2000f429fe45f916f5ddc3ad6b685aba95 100755 (executable)
@@ -274,16 +274,23 @@ static char *__print_client_type(bp_client_type_defs type)
 static void __update_client_permission(bp_client_defs *client)
 {
        pthread_mutex_lock(&mutex_for_cynara_check);
-       if(cynara_check(p_cynara, client->cynara_clientSmack, client->cynara_session, 
-               client->cynara_uid, client->privilege_label) == CYNARA_API_ACCESS_ALLOWED) {
-               client->permission.read = 1;
-               client->permission.write = 1;
-               TRACE_ERROR("client has %s privilege.", client->privilege_label);
-    } else {
-       client->permission.read = 0;
-       client->permission.write = 0;
-       TRACE_ERROR("client does not have %s privilege.", client->privilege_label);
-    }
+       if (client->cynara_clientSmack != NULL && client->cynara_session != NULL &&
+               client->cynara_uid != NULL && client->privilege_label != NULL) {
+           if(cynara_check(p_cynara, client->cynara_clientSmack, client->cynara_session,
+                   client->cynara_uid, client->privilege_label) == CYNARA_API_ACCESS_ALLOWED) {
+               client->permission.read = 1;
+               client->permission.write = 1;
+               TRACE_ERROR("client has %s privilege.", client->privilege_label);
+           } else {
+               client->permission.read = 0;
+               client->permission.write = 0;
+               TRACE_ERROR("client does not have %s privilege.", client->privilege_label);
+           }
+       } else {
+           client->permission.read = 0;
+           client->permission.write = 0;
+           TRACE_ERROR("client value is NULL.");
+       }
     pthread_mutex_unlock(&mutex_for_cynara_check);
 }