diff options
author | Stefan Metzmacher <metze@samba.org> | 2009-07-14 11:56:33 +0200 |
---|---|---|
committer | Andrew Tridgell <tridge@samba.org> | 2009-08-24 16:29:57 +1000 |
commit | 1fbc86c57a60fdb828a50d24c65750ba01b92f10 (patch) | |
tree | 2449b88771fbb1ca00138ec16ea41807f4e44a5c | |
parent | 2c664db7494da12e1738dbcbdece41374f561661 (diff) | |
download | samba-1fbc86c57a60fdb828a50d24c65750ba01b92f10.tar.gz samba-1fbc86c57a60fdb828a50d24c65750ba01b92f10.tar.bz2 samba-1fbc86c57a60fdb828a50d24c65750ba01b92f10.zip |
talloc: call return after abort, because an overloaded abort function might not exit
This will be useful in the testsuite,
where we could check if an abort would happen.
metze
-rw-r--r-- | lib/talloc/talloc.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/talloc/talloc.c b/lib/talloc/talloc.c index a65a69b4e2..a0065bccab 100644 --- a/lib/talloc/talloc.c +++ b/lib/talloc/talloc.c @@ -180,12 +180,15 @@ static inline struct talloc_chunk *talloc_chunk_from_ptr(const void *ptr) if (unlikely((tc->flags & (TALLOC_FLAG_FREE | ~0xF)) != TALLOC_MAGIC)) { if ((tc->flags & (~0xF)) == TALLOC_MAGIC_V1) { talloc_abort_magic_v1(); + return NULL; } if (tc->flags & TALLOC_FLAG_FREE) { talloc_abort_double_free(); + return NULL; } else { talloc_abort_unknown_value(); + return NULL; } } return tc; @@ -595,6 +598,7 @@ static inline int _talloc_free_internal(void *ptr) if (*pool_object_count == 0) { talloc_abort("Pool object count zero!"); + return 0; } *pool_object_count -= 1; |