pull up r19104 from trunk
authorTom Yu <tlyu@mit.edu>
Sat, 27 Jan 2007 02:07:08 +0000 (02:07 +0000)
committerTom Yu <tlyu@mit.edu>
Sat, 27 Jan 2007 02:07:08 +0000 (02:07 +0000)
 r19104@cathode-dark-space:  jaltman | 2007-01-22 20:18:17 -0500
 ticket: new
 subject: kt_file.c memory leak on error in krb5_kt_resolve / krb5_kt_wresolve
 tags: pullup

  The krb5_kt_resolve and krb5_kt_wresolve functions leak the 'data'
  memory allocation if the lock cannot be initialized.

ticket: 5410
version_fixed: 1.6.1

git-svn-id: svn://anonsvn.mit.edu/krb5/branches/krb5-1-6@19113 dc483132-0cff-0310-8789-dd5450dbe970

src/lib/krb5/keytab/kt_file.c

index c31b90f34f13681a8a127389971c45ac68d9302a..92947d5936ba49a0edce63e9047cb5c024a39674 100644 (file)
@@ -193,6 +193,7 @@ krb5_ktfile_resolve(krb5_context context, const char *name, krb5_keytab *id)
 
     err = k5_mutex_init(&data->lock);
     if (err) {
+       krb5_xfree(data);
        krb5_xfree(*id);
        return err;
     }
@@ -791,6 +792,7 @@ krb5_ktfile_wresolve(krb5_context context, const char *name, krb5_keytab *id)
 
     err = k5_mutex_init(&data->lock);
     if (err) {
+       krb5_xfree(data);
        krb5_xfree(*id);
        return err;
     }