]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
3226. [bug] Address minor resource leakages. [RT #26624]
authorMark Andrews <marka@isc.org>
Wed, 30 Nov 2011 00:53:35 +0000 (00:53 +0000)
committerMark Andrews <marka@isc.org>
Wed, 30 Nov 2011 00:53:35 +0000 (00:53 +0000)
CHANGES
bin/dig/dighost.c
bin/dnssec/dnssec-keyfromlabel.c
bin/dnssec/dnssec-keygen.c
bin/tests/dst/gsstest.c
contrib/nslint-2.1a3/nslint.c
contrib/sdb/ldap/zone2ldap.c

diff --git a/CHANGES b/CHANGES
index 52631a6a0cafa5c13156ddcedfcbce0645135914..c4511ec25e3e5227e4dac32a695d72e3f2846580 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,5 @@
+3226.  [bug]           Address minor resource leakages. [RT #26624]
+
        --- 9.7.5b1 released ---
 
 3221.  [bug]           Fixed a potential coredump on shutdown due to
index 4fc3f51397d226d9f484d1f686a08c25066c5684..b3838930f419d1e212585f9802d1b7beb1967dc1 100644 (file)
@@ -15,7 +15,7 @@
  * PERFORMANCE OF THIS SOFTWARE.
  */
 
-/* $Id: dighost.c,v 1.328.22.12 2011/11/06 23:25:28 marka Exp $ */
+/* $Id: dighost.c,v 1.328.22.13 2011/11/30 00:53:34 marka Exp $ */
 
 /*! \file
  *  \note
@@ -4212,7 +4212,6 @@ opentmpkey(isc_mem_t *mctx, const char *file, char **tempp, FILE **fp) {
        return (result);
 }
 
-
 isc_result_t
 get_trusted_key(isc_mem_t *mctx)
 {
@@ -4274,6 +4273,7 @@ get_trusted_key(isc_mem_t *mctx)
                if (key != NULL)
                        dst_key_free(&key);
        }
+       fclose(fp);
        return (ISC_R_SUCCESS);
 }
 
index f2991f67562b99cdfad84bcbf67a098108b8332e..903a47e5ab9824623bff543fdacc48170202a0ff 100644 (file)
@@ -14,7 +14,7 @@
  * PERFORMANCE OF THIS SOFTWARE.
  */
 
-/* $Id: dnssec-keyfromlabel.c,v 1.29.8.5 2011/10/20 21:26:16 marka Exp $ */
+/* $Id: dnssec-keyfromlabel.c,v 1.29.8.6 2011/11/30 00:53:34 marka Exp $ */
 
 /*! \file */
 
@@ -110,7 +110,8 @@ usage(void) {
 
 int
 main(int argc, char **argv) {
-       char            *algname = NULL, *nametype = NULL, *type = NULL;
+       char            *algname = NULL, *freeit = NULL;
+       char            *nametype = NULL, *type = NULL;
        const char      *directory = NULL;
 #ifdef USE_PKCS11
        const char      *engine = "pkcs11";
@@ -342,6 +343,9 @@ main(int argc, char **argv) {
                        algname = strdup(DEFAULT_NSEC3_ALGORITHM);
                else
                        algname = strdup(DEFAULT_ALGORITHM);
+               if (algname == NULL)
+                       fatal("strdup failed");
+               freeit = algname;
                if (verbose > 0)
                        fprintf(stderr, "no algorithm specified; "
                                "defaulting to %s\n", algname);
@@ -558,5 +562,8 @@ main(int argc, char **argv) {
        isc_mem_free(mctx, label);
        isc_mem_destroy(&mctx);
 
+       if (freeit != NULL)
+               free(freeit);
+
        return (0);
 }
index 210f8a2fa02594813fdc09f962735a7ac4a10a7f..835455b57f5b504a893450b004438883cffd160e 100644 (file)
@@ -29,7 +29,7 @@
  * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */
 
-/* $Id: dnssec-keygen.c,v 1.108.8.9 2011/10/20 21:26:16 marka Exp $ */
+/* $Id: dnssec-keygen.c,v 1.108.8.10 2011/11/30 00:53:34 marka Exp $ */
 
 /*! \file */
 
@@ -195,7 +195,8 @@ progress(int p)
 
 int
 main(int argc, char **argv) {
-       char            *algname = NULL, *nametype = NULL, *type = NULL;
+       char            *algname = NULL, *freeit = NULL;
+       char            *nametype = NULL, *type = NULL;
        char            *classname = NULL;
        char            *endp;
        dst_key_t       *key = NULL;
@@ -507,6 +508,9 @@ main(int argc, char **argv) {
                                algname = strdup(DEFAULT_NSEC3_ALGORITHM);
                        else
                                algname = strdup(DEFAULT_ALGORITHM);
+                       if (algname == NULL)
+                               fatal("strdup failed");
+                       freeit = algname;
                        if (verbose > 0)
                                fprintf(stderr, "no algorithm specified; "
                                                "defaulting to %s\n", algname);
@@ -1013,5 +1017,8 @@ main(int argc, char **argv) {
                isc_mem_stats(mctx, stdout);
        isc_mem_destroy(&mctx);
 
+       if (freeit != NULL)
+               free(freeit);
+
        return (0);
 }
index 30eabcfca9ff0633a71a3b757a96ac3a661861c7..f7c2ab23766c3c3a8041016ad96ced0034f3c8e7 100755 (executable)
@@ -14,7 +14,7 @@
  * PERFORMANCE OF THIS SOFTWARE.
  */
 
-/* $Id: gsstest.c,v 1.8.104.4 2011/09/05 17:39:23 each Exp $ */
+/* $Id: gsstest.c,v 1.8.104.5 2011/11/30 00:53:35 marka Exp $ */
 
 #include <config.h>
 
@@ -133,7 +133,7 @@ static void
 recvresponse(isc_task_t *task, isc_event_t *event) {
        dns_requestevent_t *reqev = (dns_requestevent_t *)event;
        isc_result_t result, result2;
-       dns_message_t *query, *response = NULL;
+       dns_message_t *query = NULL, *response = NULL;
        isc_buffer_t outtoken;
        isc_buffer_t outbuf;
        char output[10 * 1024];
@@ -170,14 +170,14 @@ recvresponse(isc_task_t *task, isc_event_t *event) {
 
        CHECK("dns_request_getresponse", result2);
 
-       if (response)
+       if (response != NULL)
                dns_message_destroy(&response);
 
  end:
-       if (query)
+       if (query != NULL)
                dns_message_destroy(&query);
 
-       if (reqev->request)
+       if (reqev->request != NULL)
                dns_request_destroy(&reqev->request);
 
        isc_event_free(&event);
@@ -268,7 +268,7 @@ static void
 initctx2(isc_task_t *task, isc_event_t *event) {
        dns_requestevent_t *reqev = (dns_requestevent_t *)event;
        isc_result_t result;
-       dns_message_t *query, *response = NULL;
+       dns_message_t *query = NULL, *response = NULL;
        isc_buffer_t outtoken;
        unsigned char array[DNS_NAME_MAXTEXT + 1];
        dns_rdataset_t *rdataset;
@@ -327,14 +327,13 @@ initctx2(isc_task_t *task, isc_event_t *event) {
                tsigkey = NULL;
        }
 
-       if (response)
-               dns_message_destroy(&response);
+       dns_message_destroy(&response);
 
  end:
-       if (query)
+       if (query != NULL)
                dns_message_destroy(&query);
 
-       if (reqev->request)
+       if (reqev->request != NULL)
                dns_request_destroy(&reqev->request);
 
        isc_event_free(&event);
index 8ce95050e4093f6d3e9a1bfedfa440812017e3d5..31d1032885b237fba6e0fec68077fb07a1f2f817 100644 (file)
@@ -23,7 +23,7 @@ static const char copyright[] =
     "@(#) Copyright (c) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001\n\
 The Regents of the University of California.  All rights reserved.\n";
 static const char rcsid[] =
-    "@(#) $Id: nslint.c,v 1.1 2001/12/21 04:12:04 marka Exp $ (LBL)";
+    "@(#) $Id: nslint.c,v 1.1.1920.1 2011/11/30 00:53:35 marka Exp $ (LBL)";
 #endif
 /*
  * nslint - perform consistency checks on dns files
@@ -1059,6 +1059,7 @@ process(register const char *file, register const char *domain,
                ++errors;
                fprintf(stderr, "%s: %s/%s:%d bad in-addr.arpa domain\n",
                    prog, cwd, file, n);
+               fclose(f);
                return;
        }
 
index e06f4f9578687134f59ce63c29b4d0f9eb2b0814..6db7f85a46d40f87d5854b46c2e9367e06931cf4 100644 (file)
@@ -328,6 +328,8 @@ main (int *argc, char **argv)
   isc_hash_destroy();
   isc_entropy_detach(&ectx);
   isc_mem_destroy(&mctx);
+  if (zonefile)
+       free(zonefile);
 
   return 0;
 }