X-Git-Url: https://git.distorted.org.uk/~mdw/adns/blobdiff_plain/078f9accfd68f6c039ad79e5fa8f09249216d09d..b426989832aac32c7a627d72b4e21aaf06ada70a:/src/types.c diff --git a/src/types.c b/src/types.c index ae43e2e..5fdbf5e 100644 --- a/src/types.c +++ b/src/types.c @@ -1138,12 +1138,12 @@ static adns_status ckl_ptr(adns_state ads, adns_queryflags flags, int labnum, const char *dgram, int labstart, int lablen) { if (lablen) { - if (adns__revparse_label(&cls->ptr, labnum, dgram,labstart,lablen)) + if (!adns__revparse_label(&cls->ptr, labnum, dgram,labstart,lablen)) return adns_s_querydomainwrong; } else { - if (adns__revparse_done(&cls->ptr, dgram, labnum, - &ctx->tinfo.ptr.rev_rrtype, - &ctx->tinfo.ptr.addr)) + if (!adns__revparse_done(&cls->ptr, dgram, labnum, + &ctx->tinfo.ptr.rev_rrtype, + &ctx->tinfo.ptr.addr)) return adns_s_querydomainwrong; } return adns_s_ok; @@ -1422,7 +1422,8 @@ static adns_status ckl_srv(adns_state ads, adns_queryflags flags, int labnum, const char *dgram, int labstart, int lablen) { const char *label = dgram+labstart; - if (labnum < 2 && !(flags & adns_qf_quoteok_query)) { + if (labnum < 2) { + if (flags & adns_qf_quoteok_query) return adns_s_ok; if (!lablen || label[0] != '_') return adns_s_querydomaininvalid; return adns_s_ok; }