fix memory leak
authorFelix Morgner <felix.morgner@gmail.com>
Thu, 5 Feb 2015 09:53:34 +0000 (10:53 +0100)
committerFelix Morgner <felix.morgner@gmail.com>
Thu, 5 Feb 2015 09:55:38 +0000 (10:55 +0100)
src/sharedmemory.c

index f043f08de6010a9a0f4252f55fc25c74b1afe566..d6a6a0ac84681b84cd609f6077301a5d3404721f 100644 (file)
@@ -67,8 +67,10 @@ void Sharedmemory_update(void)
             {\r
               channel_t *channel = client_itr->channel;\r
 \r
+                               char* clientAddressString = Util_clientAddressToString( client_itr );\r
+\r
                 strncpy( shmptr->client[cc].username, client_itr->username, 120 );\r
-                strncpy( shmptr->client[cc].ipaddress, Util_clientAddressToString( client_itr ), INET6_ADDRSTRLEN - 1 );\r
+                strncpy( shmptr->client[cc].ipaddress, clientAddressString, INET6_ADDRSTRLEN - 1 );\r
                 strncpy( shmptr->client[cc].channel, channel->name, 120 );\r
 \r
                 strncpy( shmptr->client[cc].os, client_itr->os, 120 );\r
@@ -103,6 +105,7 @@ void Sharedmemory_update(void)
                 shmptr->client[cc].UDPPackets = client_itr->UDPPackets;\r
                 shmptr->client[cc].TCPPackets = client_itr->TCPPackets;\r
 \r
+                               free(clientAddressString);\r
             }\r
           cc++;\r
         }\r