daan
|
03071dec0f
|
merge from dev-atomic with new atomic interface
|
2020-09-03 12:13:09 -07:00 |
|
daan
|
900c97664a
|
merge from dev-atomic
|
2020-09-03 09:47:01 -07:00 |
|
daan
|
b4825372ab
|
small compilation warning fixes (extra semicolon etc)
|
2020-08-29 19:30:38 -07:00 |
|
daan
|
2cffc3b851
|
merge from dev
|
2020-08-27 22:43:57 -07:00 |
|
daan
|
ef8e5d18a6
|
replace atomics with C11/C++ atomics with explicit memory order; passes tsan. Issue #130
|
2020-07-26 18:01:33 -07:00 |
|
daan
|
a468430772
|
strengthen memory order of bit operations; insert memory fences
|
2020-07-26 14:19:30 -07:00 |
|
daan
|
09ade02429
|
bring inline with C11 atomics; no volatile and cas order of expected/desired
|
2020-07-25 22:52:27 -07:00 |
|
daan
|
8769082d63
|
add pointer validity check in debug mode for mi_usable_size/mi_realloc/mi_expand. Issue #269
|
2020-07-20 14:33:03 -07:00 |
|
daan
|
dcb3574cf0
|
fix assertions for huge segment free
|
2020-05-01 21:14:41 -07:00 |
|
daan
|
1b0de9b4cf
|
merge from dev
|
2020-04-28 16:22:38 -07:00 |
|
daan
|
e31298bdc3
|
fix compiler warning in secure mode
|
2020-04-20 18:04:09 -07:00 |
|
daan
|
1116c0df2e
|
fix strnlen do not search beyond n characters, issue #228
|
2020-04-14 17:42:30 -07:00 |
|
daan
|
69a0846478
|
add MI_PADDING flag to cmake to supress use of padding in debug mode
|
2020-04-07 10:01:18 -07:00 |
|
Daan
|
1ece3ff6aa
|
Merge pull request #220 from cormacrelf/usable_size
Don't call mi_page_usable_size_of with an aligned pointer
|
2020-04-06 08:05:34 -07:00 |
|
Cormac Relf
|
0047b271f7
|
Call mi_page_usable_size_of with unaligned block rather than start of aligned memory
|
2020-04-06 22:50:21 +10:00 |
|
daan
|
1f396e64a0
|
merge from dev
|
2020-03-16 16:41:21 -07:00 |
|
daan
|
ec61224db0
|
fix padding issue with zero sized allocation (issue #209)
|
2020-02-18 20:05:30 -08:00 |
|
daan
|
baf08e8d54
|
fix size check on overflow when padding is enabled in debug mode
|
2020-02-17 09:59:34 -08:00 |
|
daan
|
f42b8526d0
|
fix wrong __declspec(restrict) and __attribute__((malloc)) attributes on reallocation functions
|
2020-02-13 10:36:39 -08:00 |
|
daan
|
f3c47c7c91
|
improved malloc zone handling on macOSX (not working yet)
|
2020-02-02 21:03:09 -08:00 |
|
daan
|
60cfc623be
|
fix zero initialization of blocks under 8 bytes when padding check is active
|
2020-02-01 14:29:12 -08:00 |
|
daan
|
edff9d4fbb
|
merge from dev-win (padding)
|
2020-02-01 12:32:59 -08:00 |
|
daan
|
aa68b8cbc7
|
improve encoding of padding canary and buffer overflow detection
|
2020-02-01 12:16:37 -08:00 |
|
daan
|
40f1e1e07b
|
byte-precise heap block overflow checking with encoded padding
|
2020-01-31 23:39:51 -08:00 |
|
daan
|
68112a2751
|
better padding implementation, more precise statistics
|
2020-01-31 20:34:24 -08:00 |
|
daan
|
4531367de2
|
fix padding check for aligned allocation; improve perf for small aligned allocations
|
2020-01-31 13:20:02 -08:00 |
|
daan
|
a7c69ccbea
|
fix stat accounting of segments with huge blocks
|
2020-01-30 06:25:42 -08:00 |
|
daan
|
7ff3ec2bf7
|
use EFAULT for buffer overflow and call abort in debug mode (as well as secure mode)
|
2020-01-29 17:25:40 -08:00 |
|
daan
|
5d212d688f
|
add MI_PADDING build option to add padding to each block to detect heap block overflows
|
2020-01-29 17:10:57 -08:00 |
|
daan
|
b50bec463d
|
merge from dev-exp; better abandoned reclamation
|
2020-01-27 22:12:23 -08:00 |
|
daan
|
0316859e06
|
improve codegen for mi_free
|
2020-01-23 10:03:03 -08:00 |
|
daan
|
e226ebcc97
|
Merge branch 'dev' into dev-arena
|
2020-01-22 20:39:33 -08:00 |
|
daan
|
e3b16fe4ef
|
reduce type casts in atomic operations
|
2020-01-22 19:44:54 -08:00 |
|
daan
|
0028272cf4
|
small fixes, reduced segment size, fix merge conflicts
|
2020-01-20 22:33:29 -08:00 |
|
daan
|
394a7a92ab
|
merge from dev
|
2020-01-20 19:06:08 -08:00 |
|
daan
|
3957b2fd28
|
add mi_new_realloc(n) to support C++ style reallocation that raises std::bad_alloc on out-of-memory
|
2020-01-20 15:41:56 -08:00 |
|
daan
|
e8d7c80c74
|
fix build warnings on linux
|
2020-01-19 17:33:36 -08:00 |
|
daan
|
41e717c2e0
|
fix assertion in mi_block_zero_init (issue #194)
|
2020-01-18 20:30:12 -08:00 |
|
daan
|
dc58388968
|
Add ability to register custom error function called on various error conditions; including ENOMEM
|
2020-01-17 19:59:55 -08:00 |
|
daan
|
6dd636d82d
|
improve STL allocator using mi_new_n and removing unused parameter names; follow up from pr #193 and #188
|
2020-01-17 15:41:52 -08:00 |
|
daan
|
7a9502973d
|
rearrange STL allocator code: remove pragma, ifdef for C++11
|
2020-01-16 15:57:11 -08:00 |
|
daan
|
4e91eab8fc
|
specialize mi_mallocn for count=1
|
2020-01-16 14:12:37 -08:00 |
|
daan
|
0099707af9
|
use delayed free for all pages; reduce size of the page structure for improved address calculation
|
2020-01-15 17:19:01 -08:00 |
|
daan
|
4a27ea1643
|
merge from dev
|
2020-01-13 18:01:34 -08:00 |
|
daan
|
d596f08569
|
fix thread_free read in assertion
|
2020-01-03 22:06:27 -08:00 |
|
daan
|
9629a0190f
|
fix eager commit on large pages (issue #182)
|
2020-01-02 17:25:00 -08:00 |
|
daan
|
fc3e537bd4
|
improve double free detection with faster same page check
|
2019-12-28 15:28:13 -08:00 |
|
daan
|
e3391d9a53
|
stronger encoding of free lists using two keys per page
|
2019-12-28 00:57:42 -08:00 |
|
daan
|
1066be1594
|
merge from dev-exp
|
2019-11-21 17:03:30 -08:00 |
|
daan
|
74dbfc30be
|
improved security by encoding NULL values; double free mitigation on by default; more precise free list corruption detection
|
2019-11-21 15:21:23 -08:00 |
|