diff options
author | Ken Raeburn <raeburn@mit.edu> | 2008-11-17 21:28:04 +0000 |
---|---|---|
committer | Ken Raeburn <raeburn@mit.edu> | 2008-11-17 21:28:04 +0000 |
commit | 35512dc03374b199afb6d5f5cb1e399aee63d60e (patch) | |
tree | 9eadb72e76b93e48a8fa089352805e87bbf099df /src/lib/kdb | |
parent | c88705c1cd8655ed4287c2e151fc654918f965e6 (diff) | |
download | krb5-35512dc03374b199afb6d5f5cb1e399aee63d60e.tar.gz krb5-35512dc03374b199afb6d5f5cb1e399aee63d60e.tar.xz krb5-35512dc03374b199afb6d5f5cb1e399aee63d60e.zip |
Fix a memory management bug
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@21133 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/lib/kdb')
-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 3846cba276..48858835a4 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; |