alloc.c 773 B

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