X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~mdw/git/adns/blobdiff_plain/7d0aaee4dc7c78c81b609d678c63e194a3cbcbc7..bcfd6f1382ec08a59f1c058e318e5948def9ce23:/src/reply.c diff --git a/src/reply.c b/src/reply.c index 199746c..aa3e08f 100644 --- a/src/reply.c +++ b/src/reply.c @@ -3,12 +3,11 @@ * - main handling and parsing routine for received datagrams */ /* - * This file is - * Copyright (C) 1997-2000 Ian Jackson - * - * It is part of adns, which is - * Copyright (C) 1997-2000 Ian Jackson - * Copyright (C) 1999-2000 Tony Finch + * This file is part of adns, which is + * Copyright (C) 1997-2000,2003,2006 Ian Jackson + * Copyright (C) 1999-2000,2003,2006 Tony Finch + * Copyright (C) 1991 Massachusetts Institute of Technology + * (See the file INSTALL for full details.) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -313,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; @@ -343,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++;