Fix crash when resize window 69/218369/1 accepted/tizen/unified/20191122.122358 accepted/tizen/unified/20191125.135533 submit/tizen/20191122.092639 submit/tizen/20191125.031610
authoradhavan.m <adhavan.m@samsung.com>
Thu, 21 Nov 2019 12:24:49 +0000 (17:54 +0530)
committeradhavan.m <adhavan.m@samsung.com>
Thu, 21 Nov 2019 12:24:49 +0000 (17:54 +0530)
Change-Id: Ibff46483e697d8bbdaf000e92e819b9ace74a6a8
Signed-off-by: adhavan.m <adhavan.m@samsung.com>
src/services.c

index 1a7bebd..11c942b 100644 (file)
@@ -1303,7 +1303,7 @@ static void get_capability(int fd, void *cookie) {
 
 static void sync_windowsize(int fd, void *cookie) {
     int id, lines, columns;
-    char *size_info = cookie;
+    char *size_info = (char*)cookie;
     asocket *s = NULL;
 
     if (sscanf(size_info, "%d:%d:%d", &id, &lines, &columns) == 3) {
@@ -1320,6 +1320,8 @@ static void sync_windowsize(int fd, void *cookie) {
         }
         I("success to sync window size.\n");
     }
+    free(size_info);
+    sdb_close(fd);
 }
 
 const unsigned COMMAND_TIMEOUT = 10000;
@@ -1572,7 +1574,9 @@ int service_to_fd(const char *name)
         }
     } else if(!strncmp(name, "shellconf:", 10)){
         if(!strncmp(name+10, "syncwinsz:", 10)){
-            ret = create_service_thread(sync_windowsize, (void *)name+20);
+            char* size_info = NULL;
+            size_info = strdup(name+20);
+            ret = create_service_thread(sync_windowsize, (void *)size_info);
         }
     } else if(!strncmp(name, "tzplatformenv:", 14)) {
        char* env_variable = NULL;