* ktdefname.c (krb5_kt_default_name): Fix a few memory-leak type
authorTom Yu <tlyu@mit.edu>
Wed, 13 Nov 1996 07:54:27 +0000 (07:54 +0000)
committerTom Yu <tlyu@mit.edu>
Wed, 13 Nov 1996 07:54:27 +0000 (07:54 +0000)
problems in previous changes.

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

src/lib/krb5/os/ChangeLog
src/lib/krb5/os/ktdefname.c

index 1016bd6aaf8d1c89869878b444b2b150804122fd..124935ea14fcd0d5ab7be1bd7cf5cc6110e6d22f 100644 (file)
@@ -1,3 +1,8 @@
+Wed Nov 13 02:53:31 1996  Tom Yu  <tlyu@mit.edu>
+
+       * ktdefname.c (krb5_kt_default_name): Fix a few memory-leak type
+       problems in previous changes.
+
 Tue Nov 12 22:07:55 1996  Tom Yu  <tlyu@mit.edu>
 
        * osconfig.c: Remove krb5_defkeyname to catch other things that
index 83bb99278ada838e51e920ba7345f365d2ffb1cf..ef5391ab4540c7ce93dd58b2e1b764dfb8b0f22a 100644 (file)
@@ -41,11 +41,14 @@ krb5_kt_default_name(context, name, namesize)
     if (context->kt_default_name == NULL) {
        if ((context->profile_secure == FALSE) &&
            (cp = getenv("KRB5_KTNAME"))) {
+           if ((context->kt_default_name = malloc(strlen(cp) + 1)) == NULL)
+               return ENOMEM;
+           strcpy(context->kt_default_name, cp);
        } else if (((code = profile_get_string(context->profile,
                                               "libdefaults",
                                               "default_keytab_name", NULL, 
                                               NULL, &cp)) == 0) && cp){
-           ;
+           context->kt_default_name = cp;
        } else {
 #if defined (_MSDOS) || defined(_WIN32)
            {
@@ -58,17 +61,15 @@ krb5_kt_default_name(context, name, namesize)
                    == NULL)
                    return ENOMEM;
                sprintf(cp, DEFAULT_KEYTAB_NAME, defname);
+               context->kt_default_name = cp;
            }
 #else
            if ((cp = malloc(strlen(DEFAULT_KEYTAB_NAME) + 1)) == NULL)
                return ENOMEM;
            strcpy(cp, DEFAULT_KEYTAB_NAME);
+           context->kt_default_name = cp;
 #endif
        }
-       /* cache the result... */
-       if ((context->kt_default_name = malloc(strlen(cp) + 1)) == NULL)
-           return ENOMEM;
-       strcpy(context->kt_default_name, cp);
     }
     strncpy(name, context->kt_default_name, namesize);
     if ((size_t) namesize < strlen(context->kt_default_name))