mirror of
https://github.com/samba-team/samba.git
synced 2025-03-30 06:50:24 +03:00
talloc_stack: abort in developer me if no stackframe on talloc_tos()
Don't tolerate leaks in developer mode. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
This commit is contained in:
parent
fe72740e82
commit
1f8b574adb
@ -188,15 +188,19 @@ TALLOC_CTX *_talloc_stackframe_pool(const char *location, size_t poolsize)
|
||||
* Get us the current top of the talloc stack.
|
||||
*/
|
||||
|
||||
TALLOC_CTX *talloc_tos(void)
|
||||
TALLOC_CTX *_talloc_tos(const char *location)
|
||||
{
|
||||
struct talloc_stackframe *ts =
|
||||
(struct talloc_stackframe *)SMB_THREAD_GET_TLS(global_ts);
|
||||
|
||||
if (ts == NULL || ts->talloc_stacksize == 0) {
|
||||
talloc_stackframe();
|
||||
_talloc_stackframe(location);
|
||||
ts = (struct talloc_stackframe *)SMB_THREAD_GET_TLS(global_ts);
|
||||
DEBUG(0, ("no talloc stackframe around, leaking memory\n"));
|
||||
DEBUG(0, ("no talloc stackframe at %s, leaking memory\n",
|
||||
location));
|
||||
#ifdef DEVELOPER
|
||||
smb_panic("No talloc stackframe");
|
||||
#endif
|
||||
}
|
||||
|
||||
return ts->talloc_stack[ts->talloc_stacksize-1];
|
||||
|
@ -53,7 +53,8 @@ TALLOC_CTX *_talloc_stackframe_pool(const char *location, size_t poolsize);
|
||||
* Get us the current top of the talloc stack.
|
||||
*/
|
||||
|
||||
TALLOC_CTX *talloc_tos(void);
|
||||
#define talloc_tos() _talloc_tos(__location__)
|
||||
TALLOC_CTX *_talloc_tos(const char *location);
|
||||
|
||||
/*
|
||||
* return true if a talloc stackframe exists
|
||||
|
Loading…
x
Reference in New Issue
Block a user