aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Fix buffer overflow on ta_reallocHEADmasterXavier Del Campo Romero2025-11-121-1/+3
| | | | | | When reallocating a buffer to one with a smaller size, the number of elements to be copied to the new buffer must not be that of the old buffer, or the behaviour is undefined.
* Do not resize blocks on reallocXavier Del Campo Romero2025-11-121-5/+0
| | | | | | | | | | This allocator was not designed for reallocations, and therefore prev->size cannot be extended because that would overlap its contents with other data. Because of this, the only safe way to achieve a reallocation is to always allocate a new block, copy any existing data and free the old block.
* Redesign with sbrk(2)Xavier Del Campo Romero2025-11-102-12/+14
| | | | | | | | | | | | | | | | | | | | | So far, tinyalloc was designed for a static heap area, failing to allocate whenever the end boundary was reached. Unfortunately, this design was too limiting if the same library were to be used for WebAssembly applications, where interpreters are required to implement the current_memory and grow_memory operators. [1] Whereas the former returns the number of currently allocated pages by the interpreter (64 KiB being the standard page size), the latter must increase that number by the number of pages required by the caller, but without exceeding the maximum limit imposed by the application developer. Since WebAssembly's grow_memory is usually converted to sbrk(2) by implementations, tinyalloc now makes use of this traditional syscall to achieve the desired effect. [1]: https://www.w3.org/TR/2019/REC-wasm-core-1-20191205/#-hrefsyntax-instr-memorymathsfmemorygrow
* Avoid undefined behaviour on const castXavier Del Campo Romero2025-07-262-2/+2
| | | | | Removing the const qualifier from a const-qualified object and modify it is undefined behaviour.
* Avoid depending on stdint.hXavier Del Campo Romero2025-07-261-2/+2
|
* Implement ta_reallocXavier Del Campo Romero2025-07-262-0/+40
|
* Update README.mdKarsten Schmidt2021-10-081-0/+11
|
* Merge pull request #9 from Ryzee119/patch-1Karsten Schmidt2020-09-181-0/+8
|\ | | | | Allow inclusion in CPP projects
| * Allow inclusion in CPP projectsRyzee1192020-09-171-0/+8
|/ | | | Attempted to use in Arduino, but got linker errors. This resolved the issue.
* Merge pull request #6 from llucinat/fix-heap-initKarsten Schmidt2020-08-061-5/+3
|\ | | | | Fix heap initialization
| * Fix heap initializationllucinat2020-08-061-5/+3
|/
* Merge pull request #7 from ANLAB-KAIST/warning-fixKarsten Schmidt2020-05-201-4/+4
|\ | | | | fix: discarded-qualifiers & pointer comparison warnings
| * Fix discarded-qualifiers & pointer comparison warningsWonsup Yoon2020-05-201-4/+4
|/
* Merge pull request #5 from winduptoy/masterKarsten Schmidt2019-08-173-47/+36
|\ | | | | Move compile-time configuration into a runtime configuration
| * Move compile-time configuration into a runtime configuration.Matt Reyer2019-07-013-47/+36
|/ | | | - Updated README
* Merge pull request #3 from silentcarl/masterKarsten Schmidt2019-01-101-1/+2
|\ | | | | out of bouds
| * out of bouds安静的卡尔2019-01-101-1/+2
|/
* Merge pull request #1 from 0xflotus/patch-1Karsten Schmidt2019-01-071-2/+2
|\ | | | | docs: added space in readme
| * added space0xflotus2019-01-071-2/+2
|/
* remove various functions if TA_DISABLE_COMPACT, update ptr casts, update readmeKarsten Schmidt2017-07-152-8/+19
|
* update readmeKarsten Schmidt2017-07-151-3/+5
|
* add TA_DISABLE_* defines, update compact, memclear, add license, update readmeKarsten Schmidt2017-07-154-44/+252
|
* update readme, add mem layout diag, rename defines & heap struct fieldsKarsten Schmidt2017-07-145-28/+37
|
* update readmeKarsten Schmidt2017-07-141-5/+76
|
* rename fns again, add ta_calloc() & memsetKarsten Schmidt2017-07-143-53/+97
|
* add readmeKarsten Schmidt2017-07-141-0/+13
|
* add talloc.h, rename types & functionsKarsten Schmidt2017-07-142-71/+83
|
* rename heap->head => heap->used, minor update compress(), use bool returnsKarsten Schmidt2017-07-141-26/+27
|
* fix compress, add block splitting if alloc from larger free blockKarsten Schmidt2017-07-141-9/+45
|
* initial importKarsten Schmidt2017-07-142-0/+206