Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 12 Mar 2002 15:24:27 +0100
From:      "Koster, K.J." <K.J.Koster@kpn.com>
To:        'Michael Lucas' <mwlucas@blackhelicopters.org>
Cc:        java@FreeBSD.ORG
Subject:   RE: plug-in error?
Message-ID:  <59063B5B4D98D311BC0D0001FA7E452205FDA46D@l04.research.kpn.com>

next in thread | raw e-mail | index | archive | help
Dear Michael,

> 
> However, just for my information, what the heck is this "Hrajuxz" that
> I'm supposed to symlink the nonexistent malloc.conf to?  
> 
man malloc. It's a gross hack^W^Welegant solution to run-time configure the
behaviour of FreeBSD's malloc. I believe phk@ is responsible for this.

Interesting side note: Poul-Henning sent the following message to FreeBSD's
security officer, regarding a zlib security advisory.
http://www.linuxsecurity.com/advisories/redhat_advisory-1963.html

------- Forwarded Message

To: security-officer@freebsd.org
Subject: the zlib double free bug
From: Poul-Henning Kamp <phk@freebsd.org>
Date: Mon, 11 Mar 2002 23:13:57 +0100
Message-ID: <58959.1015884837@critter.freebsd.dk>
Sender: phk@critter.freebsd.dk


As author of our malloc(3) it is my opinion that we are not vulnerable to
this (kind of) bug.

Most mallocs keep their housekeeping data right next to the allocated
range.  This gives rise to all sorts of unpleassant situations if
programs stray outside the dotted line, free(3) things twice or
free(3) modified pointers.

phkmalloc(3) does not store housekeeping next to allocated data,
and in particular it has code that detects and complains about
exactly the kind of double free this advisory talks about:

	critter phk> cat a.c
	main()
	{
		char *p;

		p = malloc(256);
		p = malloc(256);
		free(p);
		free(p);
	}
	critter phk> make a
	cc -O -pipe   a.c  -o a
	a.c: In function `main':
	a.c:7: warning: assignment makes pointer from integer without a cast
	a.c:8: warning: assignment makes pointer from integer without a cast
	critter phk> ./a
	a in free(): error: chunk is already free
	Abort (core dumped)
	critter phk> 

The malloc flag 'A' determines if the situation is just warned about
or if the program should call abort(3).

- -- 
Poul-Henning Kamp       | UNIX since Zilog Zeus 3.20
phk@FreeBSD.ORG         | TCP/IP since RFC 956
FreeBSD committer       | BSD since 4.3-tahoe
Never attribute to malice what can adequately be explained by incompetence.

------- End of Forwarded Message

    Kees Jan

=====================================================
 You can't have everything.  Where would you put it?
                                     [Steven Wright]

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-java" in the body of the message




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