Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 21 Mar 2005 12:12:09 -0600
From:      Dan Nelson <dnelson@allantgroup.com>
To:        Bartosz Fabianowski <freebsd@chillt.de>
Cc:        freebsd-stable@freebsd.org
Subject:   Re: malloc() debugging flags broken on RELENG_5
Message-ID:  <20050321181209.GG5243@dan.emsphone.com>
In-Reply-To: <423F0418.3050702@chillt.de>
References:  <423F0418.3050702@chillt.de>

next in thread | previous in thread | raw e-mail | index | archive | help
In the last episode (Mar 21), Bartosz Fabianowski said:
> Some commit in the last few weeks has broken the malloc() debug flags
> on RELENG_5. According to the man page, a call to free() or realloc()
> with a modified pointer should cause a warning. Setting the "A" flag
> in either /etc/malloc.conf or MALLOC_OPTIONS should turn this into an
> error. However, what happens is that this *always* causes an error.
> And even setting the corresponding "a" flag does not turn it into a
> warning.

You're not running as root, are you?  The A flag is always set for root
or setuid processes as a security measure.  There hasn't been any
changes to the malloc code in 5.x since 5.3.

> This is very unfortunate as some poorly written programs (KDE's
> Kopete messenger in my case) seem to rely on the fact that free() and
> realloc() with modified pointers are OK.

File a bugreport; a program must pass the same pointer to free() that
it received from malloc().

-- 
	Dan Nelson
	dnelson@allantgroup.com



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20050321181209.GG5243>