X-Git-Url: https://git.distorted.org.uk/~mdw/adns/blobdiff_plain/26e1c3d691b52d21a8bb52d9bf3f8e2b42ae6cfa..8385ad9439e541ae72befcdfe69a81ba1c99e372:/src/types.c diff --git a/src/types.c b/src/types.c index 754c237..142a942 100644 --- a/src/types.c +++ b/src/types.c @@ -5,6 +5,7 @@ /* * This file is part of adns, which is * Copyright (C) 1997-2000,2003,2006,2014 Ian Jackson + * Copyright (C) 2014 Mark Wooding * Copyright (C) 1999-2000,2003,2006 Tony Finch * Copyright (C) 1991 Massachusetts Institute of Technology * (See the file INSTALL for full details.) @@ -891,6 +892,7 @@ static void icb_hostaddr(adns_query parent, adns_query child) { done: if (st) { adns__free_interim(parent, rrp->addrs); + rrp->addrs = 0; rrp->naddrs= (st>0 && st<=adns_s_max_tempfail) ? -1 : 0; } @@ -1692,6 +1694,10 @@ DEEP_TYPE(unknown,0, "unknown",byteblock,opaque, 0, opaque ); const typeinfo *adns__findtype(adns_rrtype type) { const typeinfo *begin, *end, *mid; + if (type & ~(adns_rrtype)0x63ffffff) + /* 0x60000000 is reserved for `harmless' future expansion */ + return 0; + if (type & adns_r_unknown) return &typeinfo_unknown; type &= adns_rrt_reprmask;