summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sys/src/cmd/ip/snoopy/dns.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/sys/src/cmd/ip/snoopy/dns.c b/sys/src/cmd/ip/snoopy/dns.c
index 8b357b003..00b45e5a9 100644
--- a/sys/src/cmd/ip/snoopy/dns.c
+++ b/sys/src/cmd/ip/snoopy/dns.c
@@ -488,6 +488,7 @@ rrfree(RR *rp)
memset(rp->srv, 0, sizeof *rp->srv); /* cause trouble */
free(rp->srv);
break;
+ case Tdnskey:
case Tkey:
free(rp->key->data);
memset(rp->key, 0, sizeof *rp->key); /* cause trouble */
@@ -508,9 +509,12 @@ rrfree(RR *rp)
memset(rp->null, 0, sizeof *rp->null); /* cause trouble */
free(rp->null);
break;
+ case Tcaa:
+ free(rp->caa->data);
+ memset(rp->caa, 0, sizeof *rp->caa); /* cause trouble */
+ break;
case Ttxt:
- while(rp->txt != nil){
- t = rp->txt;
+ while(t = rp->txt){
rp->txt = t->next;
free(t->p);
memset(t, 0, sizeof *t); /* cause trouble */