diff options
-rw-r--r-- | lib/talloc/talloc.c | 7 | ||||
-rw-r--r-- | source3/nmbd/nmbd.c | 8 | ||||
-rw-r--r-- | source3/smbd/server.c | 8 | ||||
-rw-r--r-- | source3/winbindd/winbindd.c | 8 |
4 files changed, 21 insertions, 10 deletions
diff --git a/lib/talloc/talloc.c b/lib/talloc/talloc.c index cafe4d6e7a..84947a77b0 100644 --- a/lib/talloc/talloc.c +++ b/lib/talloc/talloc.c @@ -1013,13 +1013,6 @@ _PUBLIC_ void *talloc_init(const char *fmt, ...) void *ptr; const char *name; - /* - * samba3 expects talloc_report_depth_cb(NULL, ...) - * reports all talloc'ed memory, so we need to enable - * null_tracking - */ - talloc_enable_null_tracking(); - ptr = __talloc(NULL, 0); if (unlikely(ptr == NULL)) return NULL; diff --git a/source3/nmbd/nmbd.c b/source3/nmbd/nmbd.c index 5678c8e848..fcbe50842d 100644 --- a/source3/nmbd/nmbd.c +++ b/source3/nmbd/nmbd.c @@ -780,9 +780,15 @@ static bool open_sockets(bool isdaemon, int port) POPT_COMMON_SAMBA { NULL } }; - TALLOC_CTX *frame = talloc_stackframe(); /* Setup tos. */ + TALLOC_CTX *frame; NTSTATUS status; + /* + * Do this before any other talloc operation + */ + talloc_enable_null_tracking(); + frame = talloc_stackframe(); + load_case_tables(); global_nmb_port = NMB_PORT; diff --git a/source3/smbd/server.c b/source3/smbd/server.c index 07261b1e83..106eafcccd 100644 --- a/source3/smbd/server.c +++ b/source3/smbd/server.c @@ -857,11 +857,17 @@ extern void build_options(bool screen); POPT_TABLEEND }; struct smbd_parent_context *parent = NULL; - TALLOC_CTX *frame = talloc_stackframe(); /* Setup tos. */ + TALLOC_CTX *frame; NTSTATUS status; uint64_t unique_id; struct rpc_srv_callbacks spoolss_cb; + /* + * Do this before any other talloc operation + */ + talloc_enable_null_tracking(); + frame = talloc_stackframe(); + /* Initialize the event context, it will panic on error */ smbd_event_context(); diff --git a/source3/winbindd/winbindd.c b/source3/winbindd/winbindd.c index 0c9cdcf52e..d2344fd696 100644 --- a/source3/winbindd/winbindd.c +++ b/source3/winbindd/winbindd.c @@ -1124,9 +1124,15 @@ int main(int argc, char **argv, char **envp) }; poptContext pc; int opt; - TALLOC_CTX *frame = talloc_stackframe(); + TALLOC_CTX *frame; NTSTATUS status; + /* + * Do this before any other talloc operation + */ + talloc_enable_null_tracking(); + frame = talloc_stackframe(); + /* glibc (?) likes to print "User defined signal 1" and exit if a SIGUSR[12] is received before a handler is installed */ |