Explorar o código

Merge pull request #23490 from Faless/lws_client_memfix

Fix access to freed mem in WS client after #23241
Rémi Verschelde %!s(int64=6) %!d(string=hai) anos
pai
achega
c02cd5139f
Modificáronse 1 ficheiros con 7 adicións e 6 borrados
  1. 7 6
      modules/websocket/lws_client.cpp

+ 7 - 6
modules/websocket/lws_client.cpp

@@ -90,12 +90,13 @@ Error LWSClient::connect_to_host(String p_host, String p_path, uint16_t p_port,
 		i.ssl_connection = 0;
 		i.ssl_connection = 0;
 	}
 	}
 
 
-	// This String needs to survive till we call lws_client_connect_via_info
-	String addr_str = (String)addr;
-
-	i.address = addr_str.ascii().get_data();
-	i.host = p_host.utf8().get_data();
-	i.path = p_path.utf8().get_data();
+	// These CharStrings needs to survive till we call lws_client_connect_via_info
+	CharString addr_ch = ((String)addr).ascii();
+	CharString host_ch = p_host.utf8();
+	CharString path_ch = p_path.utf8();
+	i.address = addr_ch.get_data();
+	i.host = host_ch.get_data();
+	i.path = path_ch.get_data();
 	i.port = p_port;
 	i.port = p_port;
 
 
 	lws_client_connect_via_info(&i);
 	lws_client_connect_via_info(&i);