svn rev #22377: branches/krb5-1-7/src/kdc/

tlyu@MIT.EDU tlyu at MIT.EDU
Sun May 24 18:51:43 EDT 2009


http://src.mit.edu/fisheye/changelog/krb5/?cs=22377
Commit By: tlyu
Log Message:
ticket: 6496
version_fixed: 1.7

pull up r22369 from trunk

 ------------------------------------------------------------------------
 r22369 | ghudson | 2009-05-24 17:53:51 +0200 (Sun, 24 May 2009) | 11 lines

 ticket: 6496
 subject: Fix vector initialization error in KDC preauth code
 target_version: 1.7
 tags: pullup

 In the KDC, get_preauth_hint_list had two bugs initializing the
 preauth array.  It was allocating 21 extra entries instead of two due
 to a typo (harmless), and it was only zeroing up through one extra
 entry (harmful).  Adjust the code to use calloc to avoid further
 disagreements of this nature.


Changed Files:
U   branches/krb5-1-7/src/kdc/kdc_preauth.c
Modified: branches/krb5-1-7/src/kdc/kdc_preauth.c
===================================================================
--- branches/krb5-1-7/src/kdc/kdc_preauth.c	2009-05-24 22:51:32 UTC (rev 22376)
+++ branches/krb5-1-7/src/kdc/kdc_preauth.c	2009-05-24 22:51:42 UTC (rev 22377)
@@ -972,11 +972,10 @@
     e_data->data = 0;
     
     hw_only = isflagset(client->attributes, KRB5_KDB_REQUIRES_HW_AUTH);
-    /* Allocate 1 entry for the terminator and one for the cookie*/
-    pa_data = malloc(sizeof(krb5_pa_data *) * (n_preauth_systems+21));
+    /* Allocate two extra entries for the cookie and the terminator. */
+    pa_data = calloc(n_preauth_systems + 2, sizeof(krb5_pa_data *));
     if (pa_data == 0)
 	return;
-    memset(pa_data, 0, sizeof(krb5_pa_data *) * (n_preauth_systems+1));
     pa = pa_data;
 
     for (ap = preauth_systems; ap->type != -1; ap++) {




More information about the cvs-krb5 mailing list