Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 24 Jul 2003 13:27:38 -0400
From:      Jason Andresen <jandrese@mitre.org>
To:        freebsd-stable@freebsd.org
Subject:   Re: malloc does not return null when out of memory
Message-ID:  <3F20170A.8080408@mitre.org>
In-Reply-To: <20030724164522.GA39964@pit.databus.com>
References:  <20030723173427.GA72876@vmunix.com> <20030723173427.GA72876@vmunix.com> <5.2.0.9.0.20030723234250.052821e8@192.168.0.12> <20030724070936.GA16762@rot13.obsecurity.org> <3F1FF81F.5050701@mac.com> <20030724164522.GA39964@pit.databus.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Barney Wolff wrote:

> On Thu, Jul 24, 2003 at 11:15:43AM -0400, Chuck Swiger wrote:
> 
>>+/* write a single byte per page to disable overcommit behavior */
>>+static int malloc_overcommit;
> 
> 
> Won't this merely die in malloc, not return 0?
> I don't think that's the behavior the original poster was looking for.
> The wanted behavior would be fairly expensive to achieve, especially
> on an smp machine.

The upshot seem to be that it is impossible to write a program that 
handles out-of-memory errors gracefully with this scheme.  Even if you 
check all of your return values and configure exit paths for failed 
mallocs, your program is still going to crash and die in a random 
location without warning when memory fills up.

-- 
   \  |_ _|__ __|_ \ __| Jason Andresen        jandrese@mitre.org
  |\/ |  |    |    / _|  Network and Distributed Systems Engineer
_|  _|___|  _| _|_\___| Office: 703-883-7755




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