1
0
mirror of https://github.com/samba-team/samba.git synced 2025-03-27 22:50:26 +03:00

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 <abartlet@samba.org>
Signed-off-by: David Mulder <dmulder@suse.com>
Reviewed-by: Garming Sam <garming@catalyst.net.nz>
This commit is contained in:
Andrew Bartlett 2017-10-26 16:06:27 +13:00 committed by Garming Sam
parent 3ba077f4db
commit f0e3c2daf9

View File

@ -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