[syslog-ng]Syslog-NG 1.6.6 memory leak when sending UDP logs

Roberto Nibali syslog-ng@lists.balabit.hu
Tue, 01 Mar 2005 09:06:32 +0100


Hello,

> Can you check if this simple one-liner solves the problem? (if you don't
> have scsh, touch afinet.c.x after applying the patch to satisfy build
> dependencies)
> 
> diff -u -r1.25.4.6 afinet.c
> --- afinet.c    5 Aug 2004 11:35:12 -0000       1.25.4.6
> +++ afinet.c    28 Feb 2005 19:17:30 -0000
> @@ -653,6 +653,7 @@
>                         if (libnet_write(self->lnet_ctx) < 0) {
>                                 werror("Error sending raw frame, error: %z", libnet_geterror(self->lnet_ctx));
>                         }
> +                       ol_string_free(msg_line);
>                 }
>                 else {
>                 fallback_socket:

It looks very much like a leak. As I've heard last week from our 
development team, they seem to have seen similar massive leaks when 
using UDP spoofing. But I need to confirm that first. I'll let you know 
tomorrow or the latest by next Wednesday.

The leak manifested itself when calling syslog() over a perl script or 
something similar, I don't exactly remember. The gross and I/O intesive 
solution was to fork()+exec(), but that's what you have SMP machines 
for, right? :).

Thanks,
Roberto Nibali, ratz
-- 
echo '[q]sa[ln0=aln256%Pln256/snlbx]sb3135071790101768542287578439snlbxq'|dc