diff options
author | Jakub Sławiński | 2004-10-12 00:07:33 +0200 |
---|---|---|
committer | Joshua Judson Rosen | 2014-07-17 21:14:58 +0200 |
commit | 8a5f0141a346ad4b94d09313a2ec9a52efa7cf59 (patch) | |
tree | 70af82a7af209cca2ecd6fb44388cf25dd9c785d /buflist.c | |
parent | v0.5.4 (diff) | |
download | apf-8a5f0141a346ad4b94d09313a2ec9a52efa7cf59.tar.gz |
v0.5.5
- Added: rsa key generation by afclient
- Modified: afclient is now generating keys by default
- Fixed: major bug in packet buffering
- Added: 'timeout', 'clients' and 'usrpcli' options
- Fixed: parsing 'users' option
- Modified: module management routines
- Added: module support for service's packet filtering
- Fixed: few minor bugs in closing connection routines
- Added: possibility to use several clients per realm
- Modified: there is no need for 'users', 'timeout', 'clients',
'proto', 'usrpcli' and 'climode' options in config
file when default values are acceptable
Diffstat (limited to 'buflist.c')
-rw-r--r-- | buflist.c | 15 |
1 files changed, 8 insertions, 7 deletions
@@ -26,20 +26,20 @@ int insertblnode(blnodeT** headRef, int actptr, int msglen, unsigned char* buff) { - blnodeT* newnode, *lastnode; + blnodeT* newnode, *lastnode; lastnode = newnode = *headRef; while (newnode) { lastnode = newnode; newnode = newnode->next; } - newnode = calloc(1, sizeof(blnodeT)); - newnode->next = NULL; + newnode = calloc(1, sizeof(blnodeT)); + newnode->next = NULL; newnode->actptr = 0; newnode->msglen = msglen - actptr; newnode->buff = calloc(1, newnode->msglen); if (newnode->buff == NULL) return 1; - strncpy(newnode->buff, buff, newnode->msglen); + strncpy(newnode->buff, buff+actptr, newnode->msglen); if (lastnode) lastnode->next = newnode; else @@ -53,9 +53,10 @@ deleteblnode(blnodeT** headRef) blnodeT* node = *headRef; if (*headRef == NULL) return 1; - *headRef = node->next; - free(node->buff); - free(node); + *headRef = node->next; + if (node->buff != NULL) + free(node->buff); + free(node); return 0; } |