chiark / gitweb /
src/types.c: Support multiple address families in adns_rr_addr lookups.
[adns] / src / reply.c
index 64b41d72ce82688d88c2c923791f3b3da70d77a2..aa3e08fdd74e4df634d8dfec713bde7b461eb9d9 100644 (file)
@@ -312,7 +312,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 +342,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++;