mirror of
https://github.com/microsoft/mimalloc.git
synced 2024-12-27 13:33:18 +08:00
add test file for valgrind integration
This commit is contained in:
parent
6eeb81ee05
commit
093724bdef
34
test/test-wrong.c
Normal file
34
test/test-wrong.c
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include "mimalloc.h"
|
||||||
|
|
||||||
|
#ifdef USE_STD_MALLOC
|
||||||
|
# define mi(x) x
|
||||||
|
#else
|
||||||
|
# define mi(x) mi_##x
|
||||||
|
#endif
|
||||||
|
|
||||||
|
int main(int argc, char** argv) {
|
||||||
|
int* p = mi(malloc)(3*sizeof(int));
|
||||||
|
int* q = mi(malloc)(sizeof(int));
|
||||||
|
|
||||||
|
// undefined access
|
||||||
|
// printf("undefined: %d\n", *q);
|
||||||
|
|
||||||
|
*q = 42;
|
||||||
|
|
||||||
|
// buffer overflow
|
||||||
|
// q[1] = 43;
|
||||||
|
|
||||||
|
mi(free)(q);
|
||||||
|
|
||||||
|
// double free
|
||||||
|
mi(free)(q);
|
||||||
|
|
||||||
|
// use after free
|
||||||
|
printf("use-after-free: %d\n", *q);
|
||||||
|
|
||||||
|
// leak p
|
||||||
|
// mi_free(p)
|
||||||
|
return 0;
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user