Fix potential memory leak issue when setting invocation name several times 97/167297/1
authorJihoon Kim <jihoon48.kim@samsung.com>
Wed, 17 Jan 2018 01:45:37 +0000 (10:45 +0900)
committerJihoon Kim <jihoon48.kim@samsung.com>
Wed, 17 Jan 2018 01:45:37 +0000 (10:45 +0900)
Change-Id: I5de2aed2bd97e571b3c0fc60b81ad7993f17ac9e
Signed-off-by: Jihoon Kim <jihoon48.kim@samsung.com>
client/vc_client.c

index 2602c1a..cb7be34 100644 (file)
@@ -494,12 +494,13 @@ int vc_client_set_invocation_name(vc_h vc, const char* invocation_name)
        if (NULL == client)
                return VC_ERROR_INVALID_PARAMETER;
 
+       if (NULL != client->invocation_name)
+               free(client->invocation_name);
+
+       client->invocation_name = NULL;
+
        if (NULL != invocation_name) {
                client->invocation_name = strdup(invocation_name);
-       } else {
-               if (NULL != client->invocation_name)
-                       free(client->invocation_name);
-               client->invocation_name = NULL;
        }
        return 0;
 }