* dump.c (master_key_convert): Iterate over freeing
authorTom Yu <tlyu@mit.edu>
Wed, 31 Jul 2002 23:50:02 +0000 (23:50 +0000)
committerTom Yu <tlyu@mit.edu>
Wed, 31 Jul 2002 23:50:02 +0000 (23:50 +0000)
key_data->key_data_contents[j] rather than attempting to free
key_data->key_data_contents.

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@14678 dc483132-0cff-0310-8789-dd5450dbe970

src/kadmin/dbutil/ChangeLog
src/kadmin/dbutil/dump.c

index fc369c86c62f7896b39a66ad952d6e291d4cf564..1ea67317ac142e5ff18819f3084bc5fd5d1bebed 100644 (file)
@@ -1,3 +1,9 @@
+2002-07-31  Tom Yu  <tlyu@mit.edu>
+
+       * dump.c (master_key_convert): Iterate over freeing
+       key_data->key_data_contents[j] rather than attempting to free
+       key_data->key_data_contents.
+
 2002-07-29  Jen Selby  <jenselby@mit.edu>
 
        * kdb5_util.M: added documentation for some options.
index b3198a8c1750fe4dc09689afda1406b084557ddc..3eff578d04108e777959b18aec091766aa25c735 100644 (file)
@@ -249,7 +249,7 @@ static krb5_error_code master_key_convert(context, db_entry)
     krb5_error_code    retval;
     krb5_keyblock      v5plainkey, *key_ptr;
     krb5_keysalt       keysalt;
-    int              i;
+    int              i, j;
     krb5_key_data      new_key_data, *key_data;
     krb5_boolean       is_mkey;
 
@@ -278,7 +278,11 @@ static krb5_error_code master_key_convert(context, db_entry)
        if (retval)
                return retval;
        krb5_free_keyblock_contents(context, &v5plainkey);
-       free(key_data->key_data_contents);
+       for (j = 0; j < key_data->key_data_ver; j++) {
+           if (key_data->key_data_length[j]) {
+               free(key_data->key_data_contents[j]);
+           }
+       }
        *key_data = new_key_data;
     }
     return 0;