From 8da5c99070b5b5567e69a0a9a6e3037c824d6ebe Mon Sep 17 00:00:00 2001 From: "adhavan.m" Date: Thu, 21 Nov 2019 17:54:49 +0530 Subject: [PATCH] Fix crash when resize window Change-Id: Ibff46483e697d8bbdaf000e92e819b9ace74a6a8 Signed-off-by: adhavan.m --- src/services.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/services.c b/src/services.c index 1a7bebd..11c942b 100644 --- a/src/services.c +++ b/src/services.c @@ -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; -- 2.34.1