pull up r25498 from trunk
authorTom Yu <tlyu@mit.edu>
Mon, 5 Dec 2011 23:43:25 +0000 (23:43 +0000)
committerTom Yu <tlyu@mit.edu>
Mon, 5 Dec 2011 23:43:25 +0000 (23:43 +0000)
 ------------------------------------------------------------------------
 r25498 | hartmans | 2011-12-02 13:52:22 -0500 (Fri, 02 Dec 2011) | 8 lines

 ticket: 7036
 subject: Fix free ofuninitialized memory in sname_to_princ
 tags: pullup
 Target_Version: 1.10

 Fix free of uninitialized memory in error case introduced in 1.10
 development cycle.

ticket: 7036
version_fixed: 1.10
status: resolved

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

src/lib/krb5/os/sn2princ.c

index 8f8a0ce8e663f036af64daae94327e4f20edac93..1bee5ae81e2721198b3977a4c178f4756f0aba7f 100644 (file)
@@ -90,7 +90,7 @@ krb5_sname_to_principal(krb5_context context, const char *hostname, const char *
         /* copy the hostname into non-volatile storage */
 
         if (type == KRB5_NT_SRV_HST) {
-            struct addrinfo *ai, hints;
+            struct addrinfo *ai = NULL, hints;
             int err;
             char hnamebuf[NI_MAXHOST];
 
@@ -114,7 +114,8 @@ krb5_sname_to_principal(krb5_context context, const char *hostname, const char *
             }
             remote_host = strdup((ai && ai->ai_canonname) ? ai->ai_canonname : hostname);
             if (!remote_host) {
-                freeaddrinfo(ai);
+                if(ai)
+                    freeaddrinfo(ai);
                 return ENOMEM;
             }