]> git.ipfire.org Git - thirdparty/ldns.git/commitdiff
some more frees
authorJelte Jansen <jeltejan@NLnetLabs.nl>
Thu, 29 Jun 2006 12:10:38 +0000 (12:10 +0000)
committerJelte Jansen <jeltejan@NLnetLabs.nl>
Thu, 29 Jun 2006 12:10:38 +0000 (12:10 +0000)
dnssec.c
examples/ldns-resolver.c
examples/ldns-rrsig.c
host2str.c

index ac0061cf6f91aaa938065af4cd420a9d4ffa8884..157e1b36914f22d2358caeccd6977acfcf61db74 100644 (file)
--- a/dnssec.c
+++ b/dnssec.c
@@ -681,10 +681,12 @@ ldns_key_rr2ds(const ldns_rr *key, ldns_hash h)
                case LDNS_SHA1:
                        digest = LDNS_XMALLOC(uint8_t, SHA_DIGEST_LENGTH);
                        if (!digest) {
+                               ldns_rr_free(ds);
                                return NULL;
                        }
                break;
                case LDNS_SHA256:
+                       ldns_rr_free(ds);
                        return NULL; /* not implemented */
                break;
        }
@@ -692,6 +694,7 @@ ldns_key_rr2ds(const ldns_rr *key, ldns_hash h)
         data_buf = ldns_buffer_new(LDNS_MAX_PACKETLEN);
         if (!data_buf) {
                LDNS_FREE(digest);
+               ldns_rr_free(ds);
                 return NULL;
         }
 
@@ -713,6 +716,7 @@ ldns_key_rr2ds(const ldns_rr *key, ldns_hash h)
        if (ldns_rdf2buffer_wire(data_buf, ldns_rr_owner(key)) != LDNS_STATUS_OK) {
                LDNS_FREE(digest);
                ldns_buffer_free(data_buf);
+               ldns_rr_free(ds);
                return NULL;
        }
 
@@ -720,6 +724,7 @@ ldns_key_rr2ds(const ldns_rr *key, ldns_hash h)
        if (ldns_rr_rdata2buffer_wire(data_buf, (ldns_rr*)key) != LDNS_STATUS_OK) { 
                LDNS_FREE(digest);
                ldns_buffer_free(data_buf);
+               ldns_rr_free(ds);
                return NULL;
        }
        switch(h) {
index df43e66846525515b4823a8ef5604176a6ed6ade..b851dd83deb0bddf037f3e2356ee7bb244628d78 100644 (file)
@@ -18,11 +18,16 @@ main(int argc, char **argv) {
        FILE *rand;
        ldns_status s;
 
+       if (argc < 2) {
+               printf("Usage: ldns-resolver <file>\n");
+               exit(EXIT_FAILURE);
+       }
+       
        if (!(rand = fopen(argv[1], "r"))) {
                exit(EXIT_FAILURE);
        }
 
-       printf("Trying to read from /dev/urandom\n");
+       printf("Trying to read from %s\n", argv[1]);
        s = ldns_resolver_new_frm_fp_l(&r, rand, &line);
        if (s != LDNS_STATUS_OK) {
                printf("Failure\n");
index d717cb2ec3401dff924a2bedffddede9f76a3876..3cfd47bf102f9104958a8102c00882b03c831831 100644 (file)
@@ -115,6 +115,7 @@ main(int argc, char *argv[])
                                printf("Error adding nameserver to resolver\n");
                                ldns_pkt_free(p);
                                ldns_resolver_deep_free(res);
+                                ldns_resolver_deep_free(localres);
                                ldns_rr_list_deep_free(ns);
                                exit(EXIT_FAILURE);
                        }
@@ -168,8 +169,11 @@ main(int argc, char *argv[])
                                fprintf(stderr, " *** No RRSIG(%s) type found\n",
                                        type_name);
                                ldns_resolver_deep_free(localres);
+                               ldns_resolver_deep_free(res);
                                ldns_pkt_free(p);
                                ldns_rr_list_deep_free(ns);
+                               ldns_rr_list_free(rrsig);
+                               ldns_rr_list_deep_free(rrsig_type);
                                exit(EXIT_FAILURE);
                        }
                        
index 449cbb57ea6277a89d6d4a82cee389c0d6f49a34..ba0c245f898585e002f0c93787dc7a3cb41b549d 100644 (file)
@@ -1054,7 +1054,7 @@ ldns_key2buffer_str(ldns_buffer *output, const ldns_key *k)
        unsigned char  *bignum;
 #ifdef HAVE_SSL
        /* not used when ssl is not defined */
-       ldns_rdf *b64_bignum;
+       ldns_rdf *b64_bignum = NULL;
        uint16_t i;
 #endif /* HAVE_SSL */
 
@@ -1251,6 +1251,7 @@ ldns_key2buffer_str(ldns_buffer *output, const ldns_key *k)
                }
 #endif /* HAVE_SSL */
        } else {
+               LDNS_FREE(b64_bignum);
                LDNS_FREE(bignum);
                return ldns_buffer_status(output);
        }