[syslog-ng]SEGV when parsing localip - version 1.5.23

Nigel Metheringham Nigel.Metheringham@InTechnology.co.uk
05 Dec 2002 16:14:34 +0000

I'm getting the same SEGV when a localip is specified as was described
at the bottom of this message:-

Having looked at it further, looks like this function in afinet.c is the
        void inet_address_setip(struct address_info **a, const char *ip)
        	CAST(inet_address_info, addr, *a);
        	if (addr) {
        		*a = &make_inet_address_c(ip, NULL)->super;
        	else {
        		addr->ip = c_format("%z", ip);

The if (addr) tests if addr is NULL, and if it *is* it is then addr->ip
is dereferenced causing a SEGV.   Looks to me as though the if and else
parts are swapped over.  I'm going to experiment with that as a fix.

[ Nigel Metheringham           Nigel.Metheringham@InTechnology.co.uk ]
[ - Comments in this message are my own and not ITO opinion/policy - ]