]> git.ipfire.org Git - thirdparty/ldns.git/commitdiff
many more frees
authorWouter Wijngaards <wouter@NLnetLabs.nl>
Thu, 29 Jun 2006 12:24:42 +0000 (12:24 +0000)
committerWouter Wijngaards <wouter@NLnetLabs.nl>
Thu, 29 Jun 2006 12:24:42 +0000 (12:24 +0000)
examples/ldns-key2ds.c
examples/ldns-keygen.c

index 89a116f44cc534eaabf6a0658247879ad2ac8aaf..b215e8a0053d464b953ddb34f8d8cc7508da1724 100644 (file)
@@ -75,6 +75,8 @@ main(int argc, char *argv[])
        ds = ldns_key_rr2ds(k, LDNS_SHA1);
        if (!ds) {
                fprintf(stderr, "Conversion to a DS RR failed\n");
+               ldns_rr_free(k);
+               free(owner);
                exit(EXIT_FAILURE);
        }
 
@@ -89,10 +91,16 @@ main(int argc, char *argv[])
        } else {
                ldns_rr_print(dsfp, ds);
                fclose(dsfp);
+               ldns_rr_free(k);
+               free(owner);
                LDNS_FREE(dsname);
        }
        
        ldns_rr_free(ds);
        fprintf(stdout, "K%s+%03u+%05u\n", owner, alg, (unsigned int) ldns_calc_keytag(k)); 
+
+       ldns_rr_free(k);
+       free(owner);
+       LDNS_FREE(dsname);
         exit(EXIT_SUCCESS);
 }
index 365a3aba7bfc7d678c65b23e7cc86a830b708897..d07a4d70eb1fa8e8b6674d99c4f17942d1900443 100644 (file)
@@ -134,6 +134,7 @@ main(int argc, char *argv[])
        pubkey = ldns_key2rr(key);
        if (!pubkey) {
                fprintf(stderr, "Could not extract the public key from the key structure...");
+               ldns_key_deep_free(key);
                exit(EXIT_FAILURE);
        }
        owner = ldns_rdf2str(ldns_rr_owner(pubkey));
@@ -150,6 +151,11 @@ main(int argc, char *argv[])
        file = fopen(filename, "w");
        if (!file) {
                fprintf(stderr, "Unable to open %s: %s\n", filename, strerror(errno));
+               ldns_key_deep_free(key);
+               free(owner);
+               ldns_rr_free(pubkey);
+               ldns_rr_free(ds);
+               LDNS_FREE(filename);
                exit(EXIT_FAILURE);
        } else {
                ldns_rr_print(file, pubkey);
@@ -163,6 +169,11 @@ main(int argc, char *argv[])
        file = fopen(filename, "w");
        if (!file) {
                fprintf(stderr, "Unable to open %s: %s\n", filename, strerror(errno));
+               ldns_key_deep_free(key);
+               free(owner);
+               ldns_rr_free(pubkey);
+               ldns_rr_free(ds);
+               LDNS_FREE(filename);
                exit(EXIT_FAILURE);
        } else {
                ldns_key_print(file, key);
@@ -176,6 +187,11 @@ main(int argc, char *argv[])
        file = fopen(filename, "w");
        if (!file) {
                fprintf(stderr, "Unable to open %s: %s\n", filename, strerror(errno));
+               ldns_key_deep_free(key);
+               free(owner);
+               ldns_rr_free(pubkey);
+               ldns_rr_free(ds);
+               LDNS_FREE(filename);
                exit(EXIT_FAILURE);
        } else {
                ldns_rr_print(file, ds);
@@ -200,5 +216,9 @@ PEM_write_DSAPrivateKey(file, key->_key.dsa, NULL, NULL, 0, NULL, NULL);
 #endif
 
        fprintf(stdout, "K%s+%03u+%05u\n", owner, algorithm, (unsigned int) ldns_key_keytag(key));
+       ldns_key_deep_free(key);
+       free(owner);
+       ldns_rr_free(pubkey);
+       ldns_rr_free(ds);
         exit(EXIT_SUCCESS);
 }