summaryrefslogtreecommitdiff
path: root/source3/libsmb/namequery.c
diff options
context:
space:
mode:
authorVolker Lendecke <vl@samba.org>2011-04-30 19:23:55 +0200
committerVolker Lendecke <vlendec@samba.org>2011-04-30 20:40:46 +0200
commitd87427973c0f43d85546f5875b223929ac1a50d4 (patch)
tree4c474aac1d731057146fab833cb962898202b92d /source3/libsmb/namequery.c
parent020b691cf842f30ff42474c2b0102751b5fa17ac (diff)
downloadsamba-d87427973c0f43d85546f5875b223929ac1a50d4.tar.gz
samba-d87427973c0f43d85546f5875b223929ac1a50d4.tar.bz2
samba-d87427973c0f43d85546f5875b223929ac1a50d4.zip
s3: Make name_resolve_bcast return sockaddr_storage
Autobuild-User: Volker Lendecke <vlendec@samba.org> Autobuild-Date: Sat Apr 30 20:40:46 CEST 2011 on sn-devel-104
Diffstat (limited to 'source3/libsmb/namequery.c')
-rw-r--r--source3/libsmb/namequery.c21
1 files changed, 12 insertions, 9 deletions
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 {