diff options
author | Volker Lendecke <vl@samba.org> | 2011-04-30 19:23:55 +0200 |
---|---|---|
committer | Volker Lendecke <vlendec@samba.org> | 2011-04-30 20:40:46 +0200 |
commit | d87427973c0f43d85546f5875b223929ac1a50d4 (patch) | |
tree | 4c474aac1d731057146fab833cb962898202b92d /source3/libsmb/namequery.c | |
parent | 020b691cf842f30ff42474c2b0102751b5fa17ac (diff) | |
download | samba-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.c | 21 |
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 { |