Compare commits

...

5 commits

Author SHA1 Message Date
Eduard Voronkin
66e9f8dec2
Merge fe47ec625d into fae61ed946 2025-04-14 10:09:15 +02:00
Daan
fae61ed946 fix assertion in mi_free_size (issue #754) 2025-04-13 19:56:49 -07:00
Daan
a5298dd48f Merge remote-tracking branch 'refs/remotes/origin/dev' into dev 2025-04-13 19:50:59 -07:00
Daan
7543e8989a validate pointer before assertion in mi_free_size (issue #754) 2025-04-13 19:49:47 -07:00
Eduard Voronkin
fe47ec625d fix recursion in TLS init on Android 2025-03-31 15:51:53 -07:00
2 changed files with 6 additions and 3 deletions

View file

@ -340,7 +340,10 @@ mi_decl_nodiscard size_t mi_usable_size(const void* p) mi_attr_noexcept {
void mi_free_size(void* p, size_t size) mi_attr_noexcept {
MI_UNUSED_RELEASE(size);
mi_assert(p == NULL || size <= _mi_usable_size(p,"mi_free_size"));
#if MI_DEBUG
const size_t available = _mi_usable_size(p,"mi_free_size");
mi_assert(p == NULL || size <= available || available == 0 /* invalid pointer */ );
#endif
mi_free(p);
}

View file

@ -425,14 +425,14 @@ static mi_decl_noinline void mi_recurse_exit_prim(void) {
}
static bool mi_recurse_enter(void) {
#if defined(__APPLE__) || defined(MI_TLS_RECURSE_GUARD)
#if defined(__APPLE__) || defined(__ANDROID__) || defined(MI_TLS_RECURSE_GUARD)
if (_mi_preloading()) return false;
#endif
return mi_recurse_enter_prim();
}
static void mi_recurse_exit(void) {
#if defined(__APPLE__) || defined(MI_TLS_RECURSE_GUARD)
#if defined(__APPLE__) || defined(__ANDROID__) || defined(MI_TLS_RECURSE_GUARD)
if (_mi_preloading()) return;
#endif
mi_recurse_exit_prim();