Changes in kernel/generic/src/mm/malloc.c [a22c62f:0a2c96c] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/generic/src/mm/malloc.c
ra22c62f r0a2c96c 34 34 #include <bitops.h> 35 35 #include <mm/slab.h> 36 #include <mem w.h>36 #include <mem.h> 37 37 #include <main/main.h> // malloc_init() 38 38 #include <macros.h> … … 190 190 return NULL; 191 191 192 void *obj = mem_alloc(alignof(max_align_t), size + _offset); 193 if (!obj) 194 return NULL; 195 196 obj += _offset; 192 void *obj = mem_alloc(alignof(max_align_t), size + _offset) + _offset; 197 193 198 194 /* Remember the allocation size just before the object. */ … … 209 205 * slab_free() will detect it and panic. 210 206 */ 211 if (obj) { 212 size_t size = ((size_t *) obj)[-1]; 213 mem_free(obj - _offset, alignof(max_align_t), size + _offset); 214 } 207 size_t size = ((size_t *) obj)[-1]; 208 mem_free(obj - _offset, alignof(max_align_t), size + _offset); 215 209 } 216 210 217 211 void *realloc(void *old_obj, size_t new_size) 218 212 { 219 if (new_size == 0)220 new_size = 1;221 222 213 if (!old_obj) 223 214 return malloc(new_size);
Note:
See TracChangeset
for help on using the changeset viewer.