aboutsummaryrefslogtreecommitdiff
path: root/libdw/libdw_alloc.c
diff options
context:
space:
mode:
Diffstat (limited to 'libdw/libdw_alloc.c')
-rw-r--r--libdw/libdw_alloc.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/libdw/libdw_alloc.c b/libdw/libdw_alloc.c
index e0281a3d..b3e53343 100644
--- a/libdw/libdw_alloc.c
+++ b/libdw/libdw_alloc.c
@@ -87,6 +87,11 @@ __libdw_alloc_tail (Dwarf *dbg)
if (result == NULL)
{
result = malloc (dbg->mem_default_size);
+ if (result == NULL)
+ {
+ pthread_rwlock_unlock (&dbg->mem_rwl);
+ dbg->oom_handler();
+ }
result->size = dbg->mem_default_size
- offsetof (struct libdw_memblock, mem);
result->remaining = result->size;