X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=adns.git;a=blobdiff_plain;f=src%2Freply.c;h=08d274f775e0b09b3c51d6d9891bc8249f64e9fe;hp=64b41d72ce82688d88c2c923791f3b3da70d77a2;hb=042b090961d5f03df515162a3fcb63bef6bfebc4;hpb=15480be436960212fd31b8963516766a68adcdd5 diff --git a/src/reply.c b/src/reply.c index 64b41d7..08d274f 100644 --- a/src/reply.c +++ b/src/reply.c @@ -34,7 +34,7 @@ void adns__procdgram(adns_state ads, const byte *dgram, int dglen, int id, f1, f2, qdcount, ancount, nscount, arcount; int flg_ra, flg_rd, flg_tc, flg_qr, opcode; int rrtype, rrclass, rdlength, rdstart; - int anstart, nsstart, arstart; + int anstart, nsstart; int ownermatched, l, nrrs; unsigned long ttl, soattl; const typeinfo *typei; @@ -157,7 +157,6 @@ void adns__procdgram(adns_state ads, const byte *dgram, int dglen, * query now. */ anstart= qu->query_dglen; - arstart= -1; /* Now, take a look at the answer section, and see if it is complete. * If it has any CNAMEs we stuff them in the answer. @@ -312,7 +311,7 @@ void adns__procdgram(adns_state ads, const byte *dgram, int dglen, /* Now, we have some RRs which we wanted. */ - qu->answer->rrs.untyped= adns__alloc_interim(qu,qu->typei->rrsz*wantedrrs); + qu->answer->rrs.untyped= adns__alloc_interim(qu,qu->answer->rrsz*wantedrrs); if (!qu->answer->rrs.untyped) { adns__query_fail(qu,adns_s_nomemory); return; @@ -342,7 +341,8 @@ void adns__procdgram(adns_state ads, const byte *dgram, int dglen, !ownermatched) continue; adns__update_expires(qu,ttl,now); - st= typei->parse(&pai, rdstart,rdstart+rdlength, rrsdata+nrrs*typei->rrsz); + st= typei->parse(&pai, rdstart,rdstart+rdlength, + rrsdata+nrrs*qu->answer->rrsz); if (st) { adns__query_fail(qu,st); return; } if (rdstart==-1) goto x_truncated; nrrs++;