Files
RedBear-OS/tests/stdlib/alloc.c
T
jD91mZM2 fe905ed13c Merge branch 'calloc_overflow_check' into 'master'
add calloc integer overflow check

See merge request redox-os/relibc!188
2019-02-28 08:20:11 +00:00

33 lines
773 B
C

#include <malloc.h>
#include <stdio.h>
#include <stdlib.h>
#include <stdint.h> /* for SIZE_MAX */
int main(void) {
char * ptr = (char *)malloc(256);
printf("malloc %p\n", ptr);
int i;
for(i = 0; i < 256; i++) {
ptr[i] = (char)i;
}
free(ptr);
char * ptrc = (char *)calloc(256, 1);
printf("calloc %p\n", ptrc);
for(i = 0; i < 256; i++) {
ptrc[i] = (char)i;
}
free(ptrc);
char * ptrco = (char *)calloc(SIZE_MAX, SIZE_MAX);
printf("calloc (overflowing) %p\n", ptrco);
free(ptrco); /* clean up correctly even if overflow is not handled */
char * ptra = (char *)memalign(256, 256);
printf("memalign %p\n", ptra);
for(i = 0; i < 256; i++) {
ptra[i] = (char)i;
}
free(ptra);
}