|
@@ -43,12 +43,8 @@ void coalesce(freelist_rb_t *raw_block, block_header_t *ptr) {
|
|
|
/* Find out the sizes of all possible combinations */
|
|
|
|
|
|
/* Current + Next */
|
|
|
- if(next_block != NULL) {
|
|
|
- if(is_free(next_block) == true) {
|
|
|
- current_next_size = size + get_size(next_block) + HEADER_SIZE;
|
|
|
- } else {
|
|
|
- current_next_size = (size_t) -1; /* SIZE_MAX */
|
|
|
- }
|
|
|
+ if(next_block != NULL && is_free(next_block) == true) {
|
|
|
+ current_next_size = size + get_size(next_block) + HEADER_SIZE;
|
|
|
} else {
|
|
|
current_next_size = (size_t) -1; /* SIZE_MAX */
|
|
|
}
|
|
@@ -61,7 +57,8 @@ void coalesce(freelist_rb_t *raw_block, block_header_t *ptr) {
|
|
|
}
|
|
|
|
|
|
/* Previous + Current + Next */
|
|
|
- if(is_previous_free(ptr) == true && is_free(next_block) == true) {
|
|
|
+ if(is_previous_free(ptr) == true && next_block != NULL &&
|
|
|
+ is_free(next_block) == true) {
|
|
|
three_blocks_size = get_previous_size(ptr) + size +
|
|
|
get_size(next_block) + 2 * HEADER_SIZE;
|
|
|
} else {
|