]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
pullup:
authorAndreas Gustafsson <source@isc.org>
Wed, 2 Aug 2000 22:19:06 +0000 (22:19 +0000)
committerAndreas Gustafsson <source@isc.org>
Wed, 2 Aug 2000 22:19:06 +0000 (22:19 +0000)
 365.   [bug]           nsupdate -k leaked memory.

CHANGES
bin/nsupdate/nsupdate.c

diff --git a/CHANGES b/CHANGES
index 3b9a58e2d3d4833ccaa0dbea7ed498c8965eb1d8..9c67c6656240ead61394c88337aa3e3732bd4b77 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,6 +1,8 @@
 
        --- 9.0.0rc2 released ---
 
+ 365.  [bug]           nsupdate -k leaked memory.
+
  362.  [bug]           rndc no longer aborts if the configuration file is
                        missing an options statement. [RT #209]
 
index b2b41df1c43c41a8063e3bbcd5e3af448dab1143..5b85a10ab41f8050a174796a62adb9dbdb27fdee 100644 (file)
@@ -15,7 +15,7 @@
  * SOFTWARE.
  */
 
-/* $Id: nsupdate.c,v 1.8.2.3 2000/07/10 17:23:25 bwelling Exp $ */
+/* $Id: nsupdate.c,v 1.8.2.4 2000/08/02 22:19:06 gson Exp $ */
 
 #include <config.h>
 
@@ -245,6 +245,9 @@ setup_key() {
        result = dns_tsigkeyring_create(mctx, &keyring);
        check_result(result, "dns_tsigkeyringcreate");
 
+       dns_fixedname_init(&fkeyname);
+       keyname = dns_fixedname_name(&fkeyname);
+
        if (keystr != NULL) {
                isc_buffer_t keynamesrc;
                char *secretstr;
@@ -259,9 +262,6 @@ setup_key() {
                        fatal("key option must specify keyname:secret\n");
                secretstr = s + 1;
 
-               dns_fixedname_init(&fkeyname);
-               keyname = dns_fixedname_name(&fkeyname);
-
                isc_buffer_init(&keynamesrc, keystr, s - keystr);
                isc_buffer_add(&keynamesrc, s - keystr);
 
@@ -317,7 +317,11 @@ setup_key() {
                                keyfile, isc_result_totext(result));
                        goto failure;
                }
-               keyname = dst_key_name(dstkey);
+               result = dns_name_concatenate(dst_key_name(dstkey), NULL,
+                                             keyname, NULL);
+               check_result(result, "dns_name_concatenate");
+               dst_key_free(&dstkey);
+                                   
        }
                
        debug("keycreate");