diff options
author | Ivan Maidanski <ivmai@mail.ru> | 2023-04-25 21:40:55 +0300 |
---|---|---|
committer | Ivan Maidanski <ivmai@mail.ru> | 2023-04-27 14:23:30 +0300 |
commit | 18cce58bdeafbc38613b376ec05ad8ca461e8bf4 (patch) | |
tree | 2cbe9d948717980d63b01753cc8789a9244bf5d1 | |
parent | 52fdc4d597f80fa8c0c2d0a8330cacd30962b55b (diff) | |
download | bdwgc-18cce58bdeafbc38613b376ec05ad8ca461e8bf4.tar.gz |
Invoke GC_oom_fn if GC_make_array_descriptor failed because of no memory
(a cherry-pick of commit 223ce4fdf from 'master')
* typd_mlc.c (GC_calloc_explicitly_typed): If descr_type is NO_MEM then
return the result of GC_get_oom_fn()(lb) instead of NULL.
-rw-r--r-- | typd_mlc.c | 3 |
1 files changed, 2 insertions, 1 deletions
@@ -670,7 +670,8 @@ GC_API GC_ATTR_MALLOC void * GC_CALL GC_calloc_explicitly_typed(size_t n, &complex_descr, &leaf); lb *= n; switch(descr_type) { - case NO_MEM: return(0); + case NO_MEM: + return (*GC_get_oom_fn())(lb); case SIMPLE: return GC_malloc_explicitly_typed(lb, simple_descr); case LEAF: |