diff options
author | Tom Yu <tlyu@mit.edu> | 1998-09-10 23:29:29 +0000 |
---|---|---|
committer | Tom Yu <tlyu@mit.edu> | 1998-09-10 23:29:29 +0000 |
commit | 99cc425f6c29a413d6c7b0a96c72363a7665c759 (patch) | |
tree | 3ac4d264992c49820a7647fca35a8b27e56a3e3f | |
parent | 2e86951a6223b15d8f85b43614bb8d65c4b3b9ee (diff) | |
download | krb5-99cc425f6c29a413d6c7b0a96c72363a7665c759.zip krb5-99cc425f6c29a413d6c7b0a96c72363a7665c759.tar.gz krb5-99cc425f6c29a413d6c7b0a96c72363a7665c759.tar.bz2 |
* chk_trans.c: Fix up previous fix; short-circuit out when
trans->length == 0.
* chk_trans.c (krb5_check_transited_list): Fix use of an
uninitialized variable; apparently the code was depending
on the stack garbage being non-zero(!)
[pullup from trunk]
git-svn-id: svn://anonsvn.mit.edu/krb5/branches/V1_0_BRANCH@10914 dc483132-0cff-0310-8789-dd5450dbe970
-rw-r--r-- | src/lib/krb5/krb/ChangeLog | 11 | ||||
-rw-r--r-- | src/lib/krb5/krb/chk_trans.c | 8 |
2 files changed, 15 insertions, 4 deletions
diff --git a/src/lib/krb5/krb/ChangeLog b/src/lib/krb5/krb/ChangeLog index 7722a30..ad185c3 100644 --- a/src/lib/krb5/krb/ChangeLog +++ b/src/lib/krb5/krb/ChangeLog @@ -1,3 +1,14 @@ +Tue Jul 7 16:59:03 1998 Tom Yu <tlyu@mit.edu> + + * chk_trans.c: Fix up previous fix; short-circuit out when + trans->length == 0. + +Wed Jul 1 17:59:26 1998 Theodore Y. Ts'o <tytso@mit.edu> + + * chk_trans.c (krb5_check_transited_list): Fix use of an + uninitialized variable; apparently the code was depending + on the stack garbage being non-zero(!) + 1998-05-12 Theodore Ts'o <tytso@rsts-11.mit.edu> * str_conv.c (krb5_timestamp_to_sfstring): Make sure the date diff --git a/src/lib/krb5/krb/chk_trans.c b/src/lib/krb5/krb/chk_trans.c index 979eb83..c2ac716 100644 --- a/src/lib/krb5/krb/chk_trans.c +++ b/src/lib/krb5/krb/chk_trans.c @@ -40,10 +40,10 @@ krb5_data *realm2; krb5_error_code retval = 0; krb5_principal *tgs_list; - if (!trans || !trans->data) return(0); - if (trans_length) - trans_length = trans->data[trans->length-1] ? - trans->length : trans->length - 1; + if (trans == NULL || trans->data == NULL || trans->length == 0) + return(0); + trans_length = trans->data[trans->length-1] ? + trans->length : trans->length - 1; for (i = 0; i < trans_length; i++) if (trans->data[i] == '\0') { |