Bläddra i källkod

Fix memory leak in the network layer

StalderT 7 år sedan
förälder
incheckning
26931e9ce2
1 ändrade filer med 3 tillägg och 1 borttagningar
  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