fix: return payload
This commit is contained in:
		
							parent
							
								
									c2d87a610e
								
							
						
					
					
						commit
						b11b8a26e4
					
				| 
						 | 
					@ -1,7 +1,28 @@
 | 
				
			||||||
#include <stdio.h>
 | 
					#include <stdio.h>
 | 
				
			||||||
#include "sfmm.h"
 | 
					#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;
 | 
					    return EXIT_SUCCESS;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -63,7 +63,7 @@ void *sf_malloc(sf_size_t size)
 | 
				
			||||||
            sf_quick_lists[index].length -= 1;
 | 
					            sf_quick_lists[index].length -= 1;
 | 
				
			||||||
            sf_quick_lists[index].first = block->body.links.next;
 | 
					            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);
 | 
					            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);
 | 
					    index = get_index(min_size);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue
	
	Block a user