projects
/
umurmur.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fix memory leak
[umurmur.git]
/
src
/
sharedmemory.c
diff --git
a/src/sharedmemory.c
b/src/sharedmemory.c
index fd41261f49918b3a8d8fd9ca221001a4e449dd89..d6a6a0ac84681b84cd609f6077301a5d3404721f 100644
(file)
--- a/
src/sharedmemory.c
+++ b/
src/sharedmemory.c
@@
-27,6
+27,7
@@
void Sharedmemory_init( int bindport, int bindport6 )
\r
if( ftruncate( shm_fd, shmtotal_size ) == -1 )
\r
{
\r
\r
if( ftruncate( shm_fd, shmtotal_size ) == -1 )
\r
{
\r
+ Sharedmemory_deinit();
\r
Log_fatal( "SHM_API: ftruncate : %s\n", strerror(errno));
\r
exit(EXIT_FAILURE);
\r
}
\r
Log_fatal( "SHM_API: ftruncate : %s\n", strerror(errno));
\r
exit(EXIT_FAILURE);
\r
}
\r
@@
-66,8
+67,10
@@
void Sharedmemory_update(void)
{
\r
channel_t *channel = client_itr->channel;
\r
\r
{
\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].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
strncpy( shmptr->client[cc].channel, channel->name, 120 );
\r
\r
strncpy( shmptr->client[cc].os, client_itr->os, 120 );
\r
@@
-102,6
+105,7
@@
void Sharedmemory_update(void)
shmptr->client[cc].UDPPackets = client_itr->UDPPackets;
\r
shmptr->client[cc].TCPPackets = client_itr->TCPPackets;
\r
\r
shmptr->client[cc].UDPPackets = client_itr->UDPPackets;
\r
shmptr->client[cc].TCPPackets = client_itr->TCPPackets;
\r
\r
+ free(clientAddressString);
\r
}
\r
cc++;
\r
}
\r
}
\r
cc++;
\r
}
\r