mirror of
https://github.com/microsoft/mimalloc.git
synced 2024-12-26 21:04:27 +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