Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <stddef.h>
- extern void * __libc_malloc(size_t);
- extern void * __libc_memalign(size_t, size_t);
- extern void * __libc_realloc(void *, size_t);
- extern void * __libc_calloc(size_t, size_t);
- extern void __libc_free(void *);
- static void memlog (const char * keyword, size_t size, size_t reference, void * result) {
- fprintf(stderr, "%7s %#18zx %#18zx %18p\n", keyword, reference, size, result);
- }
- extern void * malloc (size_t size) {
- void * result = __libc_malloc(size);
- memlog("malloc", size, 0, result);
- return result;
- }
- extern void * aligned_alloc (size_t alignment, size_t size) {
- void * result = __libc_memalign(alignment, size);
- memlog("malloc", size, alignment, result);
- return result;
- }
- extern void * calloc (size_t members, size_t size) {
- void * result = __libc_calloc(members, size);
- memlog("calloc", size, members, result);
- return result;
- }
- extern void * realloc (void * buffer, size_t size) {
- void * result = __libc_realloc(buffer, size);
- memlog("realloc", size, (size_t) buffer, result);
- return result;
- }
- extern void free (void * buffer) {
- memlog("free", 0, (size_t) buffer, NULL);
- __libc_free(buffer);
- }
Advertisement
Add Comment
Please, Sign In to add comment