From f0e3c2daf901fa4413d3178d6c7a18fba13ccf91 Mon Sep 17 00:00:00 2001 From: Andrew Bartlett Date: Thu, 26 Oct 2017 16:06:27 +1300 Subject: [PATCH] Use talloc_stackframe() not talloc_tos() in namequery.c The pygpo code calls these functions but there was not stackframe set up so tallos_tos() fails. Signed-off-by: Andrew Bartlett Signed-off-by: David Mulder Reviewed-by: Garming Sam --- source3/libsmb/namequery.c | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/source3/libsmb/namequery.c b/source3/libsmb/namequery.c index afc2bc06d3f7..4b41546b5330 100644 --- a/source3/libsmb/namequery.c +++ b/source3/libsmb/namequery.c @@ -2862,12 +2862,15 @@ bool resolve_name(const char *name, char *sitename = NULL; int count = 0; NTSTATUS status; + TALLOC_CTX *frame = NULL; if (is_ipaddress(name)) { return interpret_string_addr(return_ss, name, AI_NUMERICHOST); } - sitename = sitename_fetch(talloc_tos(), lp_realm()); /* wild guess */ + frame = talloc_stackframe(); + + sitename = sitename_fetch(frame, lp_realm()); /* wild guess */ status = internal_resolve_name(name, name_type, sitename, &ss_list, &count, @@ -2882,7 +2885,7 @@ bool resolve_name(const char *name, (ss_list[i].ss.ss_family == AF_INET)) { *return_ss = ss_list[i].ss; SAFE_FREE(ss_list); - TALLOC_FREE(sitename); + TALLOC_FREE(frame); return True; } } @@ -2894,14 +2897,14 @@ bool resolve_name(const char *name, !is_broadcast_addr((struct sockaddr *)(void *)&ss_list[i].ss)) { *return_ss = ss_list[i].ss; SAFE_FREE(ss_list); - TALLOC_FREE(sitename); + TALLOC_FREE(frame); return True; } } } SAFE_FREE(ss_list); - TALLOC_FREE(sitename); + TALLOC_FREE(frame); return False; } @@ -3092,16 +3095,12 @@ static NTSTATUS get_dc_list(const char *domain, bool done_auto_lookup = false; int auto_count = 0; NTSTATUS status; - TALLOC_CTX *ctx = talloc_init("get_dc_list"); + TALLOC_CTX *ctx = talloc_stackframe(); int auto_name_type = 0x1C; *ip_list = NULL; *count = 0; - if (!ctx) { - return NT_STATUS_NO_MEMORY; - } - *ordered = False; /* if we are restricted to solely using DNS for looking -- 2.34.1