malloc() debugging flags broken on RELENG_5

Dan Nelson dnelson at allantgroup.com
Mon Mar 21 10:12:22 PST 2005


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 at allantgroup.com


More information about the freebsd-stable mailing list