tinyalloc
tinyalloc copied to clipboard
Correctness fixes and (optional) better C stdlib integration
- Add early NULL check to ta_free()
- Add overflow checks in alloc_block() and ta_calloc()
- Clear full block size to 0's in ta_calloc()
- Optionally set errno to ENOMEM when out of memory
- Optionally use memset() to implement memclear()
- Add ta_getsize() to return allocated block size
- Add ta_realloc() (optional, requires memcpy())
ta_getsize() and ta_realloc() are based on ideas from #11, but rewritten to fix various issues in that PR.
Updated with some more fixes:
- Fix behavior of ta_alloc(0) (see #15)
- Fix additional arithmetic overflows
- Add fallback memcopy() when not using C stdlib
- Add early return to ta_realloc() when size is similar
@jlindgren90 Thank you very much for this and the other PR - I will take a look asap, but likely will take a little while for me to review & test this...