From d87427973c0f43d85546f5875b223929ac1a50d4 Mon Sep 17 00:00:00 2001 From: Volker Lendecke Date: Sat, 30 Apr 2011 19:23:55 +0200 Subject: s3: Make name_resolve_bcast return sockaddr_storage Autobuild-User: Volker Lendecke Autobuild-Date: Sat Apr 30 20:40:46 CEST 2011 on sn-devel-104 --- source3/libsmb/namequery.c | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) (limited to 'source3/libsmb/namequery.c') diff --git a/source3/libsmb/namequery.c b/source3/libsmb/namequery.c index 61814f490c..49b2061c09 100644 --- a/source3/libsmb/namequery.c +++ b/source3/libsmb/namequery.c @@ -1489,7 +1489,8 @@ static bool convert_ss2service(struct ip_service **return_iplist, NTSTATUS name_resolve_bcast(const char *name, int name_type, - struct ip_service **return_iplist, + TALLOC_CTX *mem_ctx, + struct sockaddr_storage **return_iplist, int *return_count) { int i; @@ -1537,11 +1538,7 @@ NTSTATUS name_resolve_bcast(const char *name, return status; success: - - if (!convert_ss2service(return_iplist, ss_list, *return_count) ) - status = NT_STATUS_NO_MEMORY; - - TALLOC_FREE(ss_list); + *return_iplist = ss_list; return status; } @@ -2075,10 +2072,16 @@ NTSTATUS internal_resolve_name(const char *name, } } } else if(strequal( tok, "bcast")) { - status = name_resolve_bcast(name, name_type, - return_iplist, - return_count); + struct sockaddr_storage *ss_list; + status = name_resolve_bcast( + name, name_type, talloc_tos(), + &ss_list, return_count); if (NT_STATUS_IS_OK(status)) { + if (!convert_ss2service(return_iplist, + ss_list, + *return_count)) { + status = NT_STATUS_NO_MEMORY; + } goto done; } } else { -- cgit