diff options
| author | Tom Yu <tlyu@mit.edu> | 2005-08-16 00:38:17 +0000 |
|---|---|---|
| committer | Tom Yu <tlyu@mit.edu> | 2005-08-16 00:38:17 +0000 |
| commit | d1fa0b0e1d695208fc76c8c5ea64522d1330d941 (patch) | |
| tree | f34565b345221facbaefe1e5d0d35b6a908a4340 /src/lib | |
| parent | 2f5817556edabcec6d285e912f7ff5dbdc5ec59e (diff) | |
| download | krb5-d1fa0b0e1d695208fc76c8c5ea64522d1330d941.tar.gz krb5-d1fa0b0e1d695208fc76c8c5ea64522d1330d941.tar.xz krb5-d1fa0b0e1d695208fc76c8c5ea64522d1330d941.zip | |
* get_in_tkt.c (krb5_get_init_creds): Free tempstr on non-error
returns from krb5_string_to_deltat() to avoid memory leak.
ticket: 3147
tags: pullup
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@17330 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/lib')
| -rw-r--r-- | src/lib/krb5/krb/ChangeLog | 5 | ||||
| -rw-r--r-- | src/lib/krb5/krb/get_in_tkt.c | 10 |
2 files changed, 11 insertions, 4 deletions
diff --git a/src/lib/krb5/krb/ChangeLog b/src/lib/krb5/krb/ChangeLog index 4128f0afb..9a695a885 100644 --- a/src/lib/krb5/krb/ChangeLog +++ b/src/lib/krb5/krb/ChangeLog @@ -1,3 +1,8 @@ +2005-08-15 Tom Yu <tlyu@mit.edu> + + * get_in_tkt.c (krb5_get_init_creds): Free tempstr on non-error + returns from krb5_string_to_deltat() to avoid memory leak. + 2005-07-12 Tom Yu <tlyu@mit.edu> * recvauth.c (recvauth_common): Avoid double-free on invalid diff --git a/src/lib/krb5/krb/get_in_tkt.c b/src/lib/krb5/krb/get_in_tkt.c index 0ab3515ce..462dc7c82 100644 --- a/src/lib/krb5/krb/get_in_tkt.c +++ b/src/lib/krb5/krb/get_in_tkt.c @@ -841,8 +841,9 @@ krb5_get_init_creds(krb5_context context, } else if ((ret = krb5_libdefault_string(context, &client->realm, "ticket_lifetime", &tempstr)) == 0) { - if ((ret = krb5_string_to_deltat(tempstr, &tkt_life))) { - free(tempstr); + ret = krb5_string_to_deltat(tempstr, &tkt_life); + free(tempstr); + if (ret) { goto cleanup; } } else { @@ -858,8 +859,9 @@ krb5_get_init_creds(krb5_context context, } else if ((ret = krb5_libdefault_string(context, &client->realm, "renew_lifetime", &tempstr)) == 0) { - if ((ret = krb5_string_to_deltat(tempstr, &renew_life))) { - free(tempstr); + ret = krb5_string_to_deltat(tempstr, &renew_life); + free(tempstr); + if (ret) { goto cleanup; } } else { |
