diff --git a/hw3/src/main.c b/hw3/src/main.c index 5e2c574..142a2c2 100644 --- a/hw3/src/main.c +++ b/hw3/src/main.c @@ -1,7 +1,28 @@ #include #include "sfmm.h" -int main(int argc, char const *argv[]) { +int main(int argc, char const *argv[]) +{ + size_t sz_x = sizeof(int); + void *x1 = sf_malloc(sz_x); + void *x2 = sf_malloc(sz_x); + void *x3 = sf_malloc(sz_x); + void *x4 = sf_malloc(sz_x); + void *x5 = sf_malloc(sz_x); + sf_show_heap(); + + sf_free(x1); + sf_free(x2); + sf_free(x3); + sf_free(x4); + sf_free(x5); + + + void *x6 = sf_malloc(sz_x); + sf_show_heap(); + sf_free(x6); + + sf_show_heap(); return EXIT_SUCCESS; } diff --git a/hw3/src/sfmm.c b/hw3/src/sfmm.c index 59a23f7..50a70d5 100644 --- a/hw3/src/sfmm.c +++ b/hw3/src/sfmm.c @@ -63,7 +63,7 @@ void *sf_malloc(sf_size_t size) sf_quick_lists[index].length -= 1; sf_quick_lists[index].first = block->body.links.next; set_entire_header(block, size, get_block_size(block->header), 1, get_prv_alloc(block->header), 0, 0); - return block; + return block->body.payload; } index = get_index(min_size);