From 52d66d81f1a873b8106973d1cdece032b7080805 Mon Sep 17 00:00:00 2001 From: Andreas Schneider Date: Mon, 12 Aug 2013 20:22:04 +0200 Subject: s3-winbind: Fix a segfault passing NULL to a fstring argument. BUG: https://bugzilla.samba.org/show_bug.cgi?id=10082 Signed-off-by: Andreas Schneider Reviewed-by: Volker Lendecke Autobuild-User(master): Andreas Schneider Autobuild-Date(master): Tue Aug 13 13:58:26 CEST 2013 on sn-devel-104 --- source3/winbindd/winbindd_cm.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) (limited to 'source3') diff --git a/source3/winbindd/winbindd_cm.c b/source3/winbindd/winbindd_cm.c index 6c3f6eadf2..08c763c8d8 100644 --- a/source3/winbindd/winbindd_cm.c +++ b/source3/winbindd/winbindd_cm.c @@ -1127,6 +1127,7 @@ static bool dcip_to_name(TALLOC_CTX *mem_ctx, uint32_t nt_version = NETLOGON_NT_VERSION_1; NTSTATUS status; const char *dc_name; + fstring nbtname; ip_list.ss = *pss; ip_list.port = 0; @@ -1210,9 +1211,17 @@ static bool dcip_to_name(TALLOC_CTX *mem_ctx, /* try node status request */ - if (name_status_find(domain->name, 0x1c, 0x20, pss, *name) ) { + if (name_status_find(domain->name, 0x1c, 0x20, pss, nbtname) ) { namecache_store(*name, 0x20, 1, &ip_list); - return True; + + if (name != NULL) { + *name = talloc_strdup(mem_ctx, nbtname); + if (*name == NULL) { + return false; + } + } + + return true; } return False; } -- cgit