gsasl-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

CVS gsasl/lib/digest-md5


From: gsasl-commit
Subject: CVS gsasl/lib/digest-md5
Date: Wed, 15 Dec 2004 02:03:13 +0100

Update of /home/cvs/gsasl/lib/digest-md5
In directory dopio:/tmp/cvs-serv3152

Modified Files:
        server.c 
Log Message:
Don't NFKC.
Fix use-after-free.


--- /home/cvs/gsasl/lib/digest-md5/server.c     2004/11/19 01:41:50     1.12
+++ /home/cvs/gsasl/lib/digest-md5/server.c     2004/12/15 01:03:13     1.13
@@ -594,7 +594,6 @@
            char *tmp;
            size_t keylen;
            char *key;
-           char *normkey;
 
            res = cb_retrieve (sctx, username, authzid, realm, NULL, &keylen);
            if (res != GSASL_OK)
@@ -611,13 +610,6 @@
                free (key);
                goto done;
              }
-           normkey = gsasl_stringprep_nfkc (key, keylen);
-           free (key);
-           if (normkey == NULL)
-             {
-               res = GSASL_UNICODE_NORMALIZATION_ERROR;
-               goto done;
-             }
 
            {
              char *hin;
@@ -627,7 +619,7 @@
              hinlen = strlen (username) + strlen (COLON);
              if (realm)
                hinlen += strlen (realm);
-             hinlen += strlen (COLON) + strlen (normkey);
+             hinlen += strlen (COLON) + strlen (key);
 
              p = hin = malloc (hinlen);
              if (hin == NULL)
@@ -647,9 +639,9 @@
                }
              memcpy (p, COLON, strlen (COLON));
              p += strlen (COLON);
-             memcpy (p, normkey, strlen (normkey));
-             free (normkey);
-             p += strlen (normkey);
+             memcpy (p, key, strlen (key));
+             p += strlen (key);
+             free (key);
 
              res = gsasl_md5 (hin, hinlen, (char **) &tmp);
              free (hin);





reply via email to

[Prev in Thread] Current Thread [Next in Thread]