Просмотр исходного кода

Fix memory leak in the network layer

StalderT лет назад: 7
Родитель
Сommit
26931e9ce2
1 измененных файлов с 3 добавлено и 1 удалено
  1. 3 1
      plugins/ua_network_tcp.c

+ 3 - 1
plugins/ua_network_tcp.c

@@ -182,8 +182,10 @@ connection_releaserecvbuffer(UA_Connection *connection,
 
 static UA_StatusCode
 connection_write(UA_Connection *connection, UA_ByteString *buf) {
-    if (connection->state == UA_CONNECTION_CLOSED)
+    if (connection->state == UA_CONNECTION_CLOSED) {
+        UA_ByteString_deleteMembers(buf);
         return UA_STATUSCODE_BADCONNECTIONCLOSED;
+    }
     /* Prevent OS signals when sending to a closed socket */
     int flags = 0;
 #ifdef MSG_NOSIGNAL