fix memory leak
[umurmur.git] / 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