]> git.ipfire.org Git - thirdparty/unbound.git/commitdiff
- Dont use ldns_buffer_new and ldns_buffer_new_frm_data on the same buffer, buffer...
authorYuri Schaeffer <yuri@nlnetlabs.nl>
Fri, 16 Aug 2013 09:47:08 +0000 (09:47 +0000)
committerYuri Schaeffer <yuri@nlnetlabs.nl>
Fri, 16 Aug 2013 09:47:08 +0000 (09:47 +0000)
- 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
testcode/testbound.c

index 8b31b2562f8c183b2a3c3a5522435a8c0c4cf24a..5f2f8c9ceb8dd107e44a2bc3394084932dbd829c 100644 (file)
@@ -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;
        }
index 3fa22391b3e764088cdd70914f00347fdd0372fc..2748eb601bb6e9d9b144c99ba5b7ed380715d0fe 100644 (file)
@@ -332,6 +332,8 @@ main(int argc, char* argv[])
                case 'h':
                default:
                        testbound_usage();
+                       for(c=1; c<pass_argc; c++)
+                               free(pass_argv[c]);
                        return 1;
                }
        }
@@ -339,6 +341,8 @@ main(int argc, char* argv[])
        argv += optind;
        if(argc != 0) {
                testbound_usage();
+               for(c=1; c<pass_argc; c++)
+                       free(pass_argv[c]);
                return 1;
        }
        log_info("Start of %s testbound program.", PACKAGE_STRING);