53 lines
1.5 KiB
Diff
53 lines
1.5 KiB
Diff
From 187e520b96c5ae3a7fd7bfd24df4c67b1528ded9 Mon Sep 17 00:00:00 2001
|
|
From: Andreas Schneider <asn@samba.org>
|
|
Date: Mon, 12 Aug 2013 20:22:04 +0200
|
|
Subject: [PATCH] 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 <asn@samba.org>
|
|
Reviewed-by: Volker Lendecke <vl@samba.org>
|
|
|
|
Autobuild-User(master): Andreas Schneider <asn@cryptomilk.org>
|
|
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(-)
|
|
|
|
diff --git a/source3/winbindd/winbindd_cm.c b/source3/winbindd/winbindd_cm.c
|
|
index 50728a5..48322cb 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;
|
|
}
|
|
--
|
|
1.8.3.1
|
|
|