diff options
author | Andrew Bartlett <abartlet@samba.org> | 2003-03-09 01:13:41 +0000 |
---|---|---|
committer | Andrew Bartlett <abartlet@samba.org> | 2003-03-09 01:13:41 +0000 |
commit | 6ed674023620cc77e3276561f913b7a62ed26245 (patch) | |
tree | c51cca8a331155c20f0b249bbd91ade693ef0806 /source3/rpc_parse | |
parent | 8ccff3e99527b7303e75f860e50d74bb83fdfb15 (diff) | |
download | samba-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.c | 23 |
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)) |