diff options
author | Ken Raeburn <raeburn@mit.edu> | 2003-04-13 10:40:03 +0000 |
---|---|---|
committer | Ken Raeburn <raeburn@mit.edu> | 2003-04-13 10:40:03 +0000 |
commit | eba6cd413c1d8061cf4f7152b9701c1376a1df87 (patch) | |
tree | c25e8885eeb712399a0e24c9f3ae87d2ec1da611 /src | |
parent | 80b66c89f9db49c2430d86f28dd68e30368030f9 (diff) | |
download | krb5-eba6cd413c1d8061cf4f7152b9701c1376a1df87.tar.gz krb5-eba6cd413c1d8061cf4f7152b9701c1376a1df87.tar.xz krb5-eba6cd413c1d8061cf4f7152b9701c1376a1df87.zip |
memory leak in krb5_read_password
* read_pwd.c (krb5_read_password): Always free temporary storage used for
verification version of password.
ticket: new
target_version: 1.3
tags: pullup
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@15348 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src')
-rw-r--r-- | src/lib/krb5/os/ChangeLog | 5 | ||||
-rw-r--r-- | src/lib/krb5/os/read_pwd.c | 9 |
2 files changed, 8 insertions, 6 deletions
diff --git a/src/lib/krb5/os/ChangeLog b/src/lib/krb5/os/ChangeLog index 51638d9e44..f3406c5b03 100644 --- a/src/lib/krb5/os/ChangeLog +++ b/src/lib/krb5/os/ChangeLog @@ -1,3 +1,8 @@ +2003-04-13 Ken Raeburn <raeburn@mit.edu> + + * read_pwd.c (krb5_read_password): Always free temporary storage + used for verification version of password. + 2003-03-06 Alexandra Ellwood <lxs@mit.edu> * c_ustime.c: Removed Mac OS 9 code. diff --git a/src/lib/krb5/os/read_pwd.c b/src/lib/krb5/os/read_pwd.c index 9023b8e987..1bb631c6ae 100644 --- a/src/lib/krb5/os/read_pwd.c +++ b/src/lib/krb5/os/read_pwd.c @@ -64,15 +64,12 @@ krb5_read_password(krb5_context context, const char *prompt, const char *prompt2 return ENOMEM; retval = krb5_prompter_posix(NULL, NULL,NULL, NULL, 1, &k5prompt); - if (retval) { - free(verify_data.data); - } else { + if (retval == 0) { /* compare */ - if (strncmp(return_pwd, (char *)verify_data.data, *size_return)) { + if (strncmp(return_pwd, (char *)verify_data.data, *size_return)) retval = KRB5_LIBOS_BADPWDMATCH; - free(verify_data.data); - } } + free(verify_data.data); } if (!retval) *size_return = k5prompt.reply->length; |