snoopy: ... and fix the memory leak for new dns rr types

cinap_lenrek 2021-08-18 19:37:44 +00:00
parent 97c6a1dd52
commit 7fd9be0f08
1 changed files with 6 additions and 2 deletions

View File

@ -488,6 +488,7 @@ rrfree(RR *rp)
memset(rp->srv, 0, sizeof *rp->srv); /* cause trouble */ memset(rp->srv, 0, sizeof *rp->srv); /* cause trouble */
free(rp->srv); free(rp->srv);
break; break;
case Tdnskey:
case Tkey: case Tkey:
free(rp->key->data); free(rp->key->data);
memset(rp->key, 0, sizeof *rp->key); /* cause trouble */ 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 */ memset(rp->null, 0, sizeof *rp->null); /* cause trouble */
free(rp->null); free(rp->null);
break; break;
case Tcaa:
free(rp->caa->data);
memset(rp->caa, 0, sizeof *rp->caa); /* cause trouble */
break;
case Ttxt: case Ttxt:
while(rp->txt != nil){ while(t = rp->txt){
t = rp->txt;
rp->txt = t->next; rp->txt = t->next;
free(t->p); free(t->p);
memset(t, 0, sizeof *t); /* cause trouble */ memset(t, 0, sizeof *t); /* cause trouble */