summaryrefslogtreecommitdiff
path: root/source3/rpc_parse
diff options
context:
space:
mode:
authorAndrew Bartlett <abartlet@samba.org>2003-03-09 01:13:41 +0000
committerAndrew Bartlett <abartlet@samba.org>2003-03-09 01:13:41 +0000
commit6ed674023620cc77e3276561f913b7a62ed26245 (patch)
treec51cca8a331155c20f0b249bbd91ade693ef0806 /source3/rpc_parse
parent8ccff3e99527b7303e75f860e50d74bb83fdfb15 (diff)
downloadsamba-6ed674023620cc77e3276561f913b7a62ed26245.tar.gz
samba-6ed674023620cc77e3276561f913b7a62ed26245.tar.bz2
samba-6ed674023620cc77e3276561f913b7a62ed26245.zip
Don't fault on error returns (ptr == 0) for this LSA query.
(for example, query to non-dc) Andrew Bartlett (This used to be commit d1dde5f684652f86e63ac6cfa34ff42a680693de)
Diffstat (limited to 'source3/rpc_parse')
-rw-r--r--source3/rpc_parse/parse_lsa.c23
1 files changed, 13 insertions, 10 deletions
diff --git a/source3/rpc_parse/parse_lsa.c b/source3/rpc_parse/parse_lsa.c
index 53a0fc958d..2753ae524a 100644
--- a/source3/rpc_parse/parse_lsa.c
+++ b/source3/rpc_parse/parse_lsa.c
@@ -2219,18 +2219,21 @@ BOOL lsa_io_r_query_info2(const char *desc, LSA_R_QUERY_INFO2 *r_c,
if(!prs_uint32("ptr", ps, depth, &r_c->ptr))
return False;
- if(!prs_uint16("info_class", ps, depth, &r_c->info_class))
- return False;
- switch(r_c->info_class) {
- case 0x000c:
- if (!lsa_io_dns_dom_info("info12", &r_c->info.dns_dom_info,
- ps, depth))
+
+ if (r_c->ptr != 0) {
+ if(!prs_uint16("info_class", ps, depth, &r_c->info_class))
return False;
+ switch(r_c->info_class) {
+ case 0x000c:
+ if (!lsa_io_dns_dom_info("info12", &r_c->info.dns_dom_info,
+ ps, depth))
+ return False;
break;
- default:
- DEBUG(0,("lsa_io_r_query_info2: unknown info class %d\n",
- r_c->info_class));
- return False;
+ default:
+ DEBUG(0,("lsa_io_r_query_info2: unknown info class %d\n",
+ r_c->info_class));
+ return False;
+ }
}
if(!prs_align(ps))