Research: Add badalloc

pull/2011/head
winlin 4 years ago
parent a42da57448
commit 44e550e523

@ -0,0 +1,11 @@
/*
ulimit -S -v 204800
g++ -g -O0 bad_alloc0.cpp -o bad_alloc && ./bad_alloc
*/
#include <stdio.h>
int main(){
char* p1 = new char[193000 * 1024]; // huge allocation
char* p0 = new char[100 * 1024]; // small allocation
printf("OK\n");
}

@ -0,0 +1,17 @@
/*
ulimit -S -v 204800
g++ -g -O0 bad_alloc1.cpp -o bad_alloc && ./bad_alloc
*/
#include <stdio.h>
#include <new>
void handler() {
printf("Memory allocate failed\n");
std::set_new_handler(NULL); // New will try to alloc again, then abort.
}
int main(){
std::set_new_handler(handler);
char* p1 = new char[193000 * 1024]; // huge allocation
char* p0 = new char[100 * 1024]; // small allocation
printf("OK\n");
}
Loading…
Cancel
Save