Use len parameter when copying strings passed via libwebsocket 50/243650/1
authorJi-hoon Lee <dalton.lee@samsung.com>
Wed, 9 Sep 2020 02:27:16 +0000 (11:27 +0900)
committerJi-hoon Lee <dalton.lee@samsung.com>
Wed, 9 Sep 2020 02:27:31 +0000 (11:27 +0900)
Change-Id: Ic453e81e4bd6a18528c291053f22ff2f3bb41df2

src/legacy_support/websocket.cpp

index b3ae539..a5f4b2b 100644 (file)
@@ -342,7 +342,7 @@ static int callback_keyboard(struct lws *wsi,
                 ecore_thread_main_loop_end();
             }
 
-            std::string str = (const char *)in;
+            std::string str = std::string((const char *)in, len);
             if (CISEMessageSerializer::valid(str)) {
                 LOGD("A valid new message received, flush previous buffer");
                 flush_server_recv_buffer_func((void*)pss);
@@ -350,7 +350,7 @@ static int callback_keyboard(struct lws *wsi,
 
             pthread_mutex_lock(&g_ws_server_mutex);
             server_recv_buffer += str;
-            SECURE_LOGD("RECEIVE callback : [%s], [%s]", str.c_str(), server_recv_buffer.c_str());
+            SECURE_LOGD("RECEIVE callback : [%d] [%s], [%s]", len, str.c_str(), server_recv_buffer.c_str());
             pthread_mutex_unlock(&g_ws_server_mutex);
 
             ecore_thread_main_loop_begin();