From c15548d678a2b92f417d780b1b878c598d2151a5 Mon Sep 17 00:00:00 2001 From: Yuri Schaeffer Date: Fri, 16 Aug 2013 09:47:08 +0000 Subject: [PATCH] - Dont use ldns_buffer_new and ldns_buffer_new_frm_data on the same buffer, buffer->data will leak. - Make valgrind a bit happier on testbound -h git-svn-id: file:///svn/unbound/branches/edns-subnet@2936 be551aaa-1e26-0410-a405-d3ace91eadb9 --- testcode/ldns-testpkts.c | 5 ++++- testcode/testbound.c | 4 ++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/testcode/ldns-testpkts.c b/testcode/ldns-testpkts.c index 8b31b2562..5f2f8c9ce 100644 --- a/testcode/ldns-testpkts.c +++ b/testcode/ldns-testpkts.c @@ -88,6 +88,7 @@ entry_add_reply(struct entry* entry) pkt->packet_sleep = 0; pkt->reply = ldns_pkt_new(); pkt->reply_from_hex = NULL; + pkt->raw_ednsdata = NULL; /* link at end */ while(*p) p = &((*p)->next); @@ -389,8 +390,9 @@ data_buffer2wire(ldns_buffer *data_buffer) } if (state < 2) { + if (!(wire_buffer = LDNS_MALLOC(ldns_buffer))) + error("Could not allocate buffer for hex data\n"); wirelen = hexstr2bin((char *) hexbuf, hexbufpos, wire, 0, LDNS_MAX_PACKETLEN); - wire_buffer = ldns_buffer_new(wirelen); ldns_buffer_new_frm_data(wire_buffer, wire, wirelen); } else { error("Incomplete hex data, not at byte boundary\n"); @@ -954,6 +956,7 @@ void delete_replylist(struct reply_packet* replist) np = p->next; ldns_pkt_free(p->reply); ldns_buffer_free(p->reply_from_hex); + ldns_buffer_free(p->raw_ednsdata); free(p); p=np; } diff --git a/testcode/testbound.c b/testcode/testbound.c index 3fa22391b..2748eb601 100644 --- a/testcode/testbound.c +++ b/testcode/testbound.c @@ -332,6 +332,8 @@ main(int argc, char* argv[]) case 'h': default: testbound_usage(); + for(c=1; c