Re: [PATCH] Zend/zend_alloc.c

From: Date: Wed, 29 Aug 2001 15:46:08 +0000
Subject: Re: [PATCH] Zend/zend_alloc.c
References: 1 2 3 4 5 6  Groups: php.dev 
Request: Send a blank email to php-dev+get-64632@lists.php.net to get a copy of this message
At 18:35 29-08-01, Walter Franzini wrote:
Zeev Suraski <zeev@zend.com> writes: At 14:57 29-08-01, Walter Franzini wrote:
From the extension (the user of kernel services) pov I must disagree.
But obviusly I'missing something :-)
I don't see why there's a difference. Maybe the difference is not ZE vs. extension but internal vs. external data, where external means coming from the outside of PHP/Zend. If you try to allocate memory for data that come from the outside (the browser, a db) you should fail gracefully: a malicious user can send to your app a huge amount of data only to make it crash.
But it does not crash. It exits, which is the safest thing you can do.
From the user point of view an application that exit without a message is crashed, no matter how controlled the shutdown is. Is this a reasonable scenario?
Given the fact that a failed malloc() can often mean that the situation is *really* bad, the best thing to do would be exiting. Doing anything else, such as printing things out, etc., is dangerous, as it may result in a crash. We can argue as to what to do in case we run out of memory - but what you were suggesting is not doing anything, and move the responsibility for the users of the memory manager. No matter how I look at it, that's a bad thing.
But "Ehi, I can't allocate the memory needed to store a refcount. It's time to exit!!" seems reasonable to me.
Due to the reasons I gave in my previous letter, I disagree. Zeev

Thread (18 messages)

« previous php.dev (#64632) next »