alloc.c 800 B

12345678910111213141516171819202122232425262728293031323334
  1. #include <malloc.h>
  2. #include <stdio.h>
  3. #include <stdlib.h>
  4. #include <stdint.h> /* for SIZE_MAX */
  5. #include "test_helpers.h"
  6. int main(void) {
  7. char * ptr = (char *)malloc(256);
  8. printf("malloc %p\n", ptr);
  9. int i;
  10. for(i = 0; i < 256; i++) {
  11. ptr[i] = (char)i;
  12. }
  13. free(ptr);
  14. char * ptrc = (char *)calloc(256, 1);
  15. printf("calloc %p\n", ptrc);
  16. for(i = 0; i < 256; i++) {
  17. ptrc[i] = (char)i;
  18. }
  19. free(ptrc);
  20. char * ptrco = (char *)calloc(SIZE_MAX, SIZE_MAX);
  21. printf("calloc (overflowing) %p\n", ptrco);
  22. free(ptrco); /* clean up correctly even if overflow is not handled */
  23. char * ptra = (char *)memalign(256, 256);
  24. printf("memalign %p\n", ptra);
  25. for(i = 0; i < 256; i++) {
  26. ptra[i] = (char)i;
  27. }
  28. free(ptra);
  29. }