diff options
-rw-r--r-- | NEWS | 5 | ||||
-rw-r--r-- | syslogd.c | 5 |
2 files changed, 8 insertions, 2 deletions
@@ -8,6 +8,11 @@ Version 1.0.3 (RGer), 2005-10-10 processed - could lead to message loss in extreme cases - applied some patches available from the sysklogd project to code shared from there +- fixed a bug that causes rsyslogd to dump core on termination when one + of the selector lines did not receive a message during the run (very + unlikely) +- fixed an one-too-low memory allocation in the TCP sender. Could result + in rsyslogd dumping core. --------------------------------------------------------------------------- Version 1.0.2 (RGer), 2005-10-05 - fixed an issue with MySQL error reporting. When an error occured, @@ -1038,7 +1038,7 @@ int TCPSend(struct filed *f, char *msg) if((*(msg+len-1) != '\n')) { if(buf != NULL) free(buf); - if((buf = malloc((len + 1) * sizeof(char))) == NULL) { + if((buf = malloc((len + 2) * sizeof(char))) == NULL) { /* extreme mem shortage, try to solve * as good as we can. No point in calling * any alarms, they might as well run out @@ -4274,7 +4274,8 @@ void die(sig) free(f->f_iov); } /* Now delete cached messages */ - MsgDestruct(f->f_pMsg); + if(f->f_pMsg != NULL) + MsgDestruct(f->f_pMsg); #ifdef WITH_DB if (f->f_type == F_MYSQL) closeMySQL(f); |