diff options
-rw-r--r-- | lib/talloc/talloc.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/talloc/talloc.c b/lib/talloc/talloc.c index 60a48ad811..33cbfd7d26 100644 --- a/lib/talloc/talloc.c +++ b/lib/talloc/talloc.c @@ -1008,6 +1008,11 @@ void *_talloc_realloc(const void *context, void *ptr, size_t size, const char *n return NULL; } + /* don't let anybody try to realloc a talloc_pool */ + if (unlikely(tc->flags & TALLOC_FLAG_POOL)) { + return NULL; + } + /* don't shrink if we have less than 1k to gain */ if ((size < tc->size) && ((tc->size - size) < 1024)) { tc->size = size; |