Merge "Use __libc_fatal() for failed malloc in new"

This commit is contained in:
Dan Albert 2014-06-03 16:53:46 +00:00 committed by Gerrit Code Review
commit 2f9400b679

View File

@ -14,15 +14,18 @@
* limitations under the License. * limitations under the License.
*/ */
#include <errno.h>
#include <new> #include <new>
#include <stdlib.h> #include <stdlib.h>
#include "private/libc_logging.h"
const std::nothrow_t std::nothrow = {}; const std::nothrow_t std::nothrow = {};
void* operator new(std::size_t size) { void* operator new(std::size_t size) {
void* p = malloc(size); void* p = malloc(size);
if (p == NULL) { if (p == NULL) {
abort(); __libc_fatal("new failed to allocate %zu bytes", size);
} }
return p; return p;
} }
@ -30,7 +33,7 @@ void* operator new(std::size_t size) {
void* operator new[](std::size_t size) { void* operator new[](std::size_t size) {
void* p = malloc(size); void* p = malloc(size);
if (p == NULL) { if (p == NULL) {
abort(); __libc_fatal("new[] failed to allocate %zu bytes", size);
} }
return p; return p;
} }