diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/lib/kdb/kdb_convert.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/lib/kdb/kdb_convert.c b/src/lib/kdb/kdb_convert.c index 3846cba27..48858835a 100644 --- a/src/lib/kdb/kdb_convert.c +++ b/src/lib/kdb/kdb_convert.c @@ -285,10 +285,12 @@ conv_princ_2db(krb5_context context, krb5_principal *dbprinc, free(princ->data[i].data); princ->data[i].data = NULL; } - } else + } else { princ->data = NULL; + princ->length = 0; + } princ->data = (krb5_data *)realloc(princ->data, - (princ->length * sizeof (krb5_data))); + (kdbe_princ->k_components.k_components_len * sizeof (krb5_data))); if (princ->data == NULL) /* XXX Memory leak: old storage not freed. */ goto error; |