Merge "Use __libc_fatal() for failed malloc in new"
This commit is contained in:
commit
2f9400b679
@ -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;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user