summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorTom Yu <tlyu@mit.edu>1994-07-16 10:07:08 +0000
committerTom Yu <tlyu@mit.edu>1994-07-16 10:07:08 +0000
commit68de221b30d699ae619c0efe6e09017aec7dd328 (patch)
tree07de1895269b0389655a766449bb03b0db877daa /src
parent9a89aaf10011564e19b67262e493f5ee94752851 (diff)
downloadkrb5-68de221b30d699ae619c0efe6e09017aec7dd328.tar.gz
krb5-68de221b30d699ae619c0efe6e09017aec7dd328.tar.xz
krb5-68de221b30d699ae619c0efe6e09017aec7dd328.zip
* asn1_encode_k.c (asn1_encode_transited_encoding): whoops don't
bomb if val->tr_contents.dlength == 0 * asn1_decode_k.c (asn1_decode_encrypted_data): oops looks like Harry made a brain fart here.... default value for kvno was 5, not 0. git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@3995 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src')
-rw-r--r--src/lib/krb5/asn.1/ChangeLog9
-rw-r--r--src/lib/krb5/asn.1/asn1_decode_k.c2
-rw-r--r--src/lib/krb5/asn.1/asn1_encode_k.c4
3 files changed, 13 insertions, 2 deletions
diff --git a/src/lib/krb5/asn.1/ChangeLog b/src/lib/krb5/asn.1/ChangeLog
index 03f866479..96b76b4b1 100644
--- a/src/lib/krb5/asn.1/ChangeLog
+++ b/src/lib/krb5/asn.1/ChangeLog
@@ -1,3 +1,12 @@
+Sat Jul 16 00:19:18 1994 Tom Yu (tlyu at dragons-lair)
+
+ * asn1_encode_k.c (asn1_encode_transited_encoding): whoops don't
+ bomb if val->tr_contents.dlength == 0
+
+ * asn1_decode_k.c (asn1_decode_encrypted_data): oops looks like
+ Harry made a brain fart here.... default value for kvno was 5, not
+ 0.
+
Thu Jul 14 11:37:59 1994 Theodore Y. Ts'o (tytso at tsx-11)
* asn1_*.[ch]:
diff --git a/src/lib/krb5/asn.1/asn1_decode_k.c b/src/lib/krb5/asn.1/asn1_decode_k.c
index de430b41b..c74a14ccd 100644
--- a/src/lib/krb5/asn.1/asn1_decode_k.c
+++ b/src/lib/krb5/asn.1/asn1_decode_k.c
@@ -281,7 +281,7 @@ asn1_error_code asn1_decode_encrypted_data(DECLARG(asn1buf *, buf),
setup();
{ begin_structure();
get_field(val->etype,0,asn1_decode_enctype);
- opt_field(val->kvno,1,asn1_decode_kvno,5);
+ opt_field(val->kvno,1,asn1_decode_kvno,0);
get_lenfield(val->ciphertext.length,val->ciphertext.data,2,asn1_decode_charstring);
end_structure();
}
diff --git a/src/lib/krb5/asn.1/asn1_encode_k.c b/src/lib/krb5/asn.1/asn1_encode_k.c
index 41324f851..894ba95a6 100644
--- a/src/lib/krb5/asn.1/asn1_encode_k.c
+++ b/src/lib/krb5/asn.1/asn1_encode_k.c
@@ -580,7 +580,9 @@ asn1_error_code asn1_encode_transited_encoding(DECLARG(asn1buf *, buf),
{
asn1_setup();
- if(val == NULL || val->tr_contents.data == NULL) return ASN1_MISSING_FIELD;
+ if(val == NULL ||
+ (val->tr_contents.length != 0 && val->tr_contents.data == NULL))
+ return ASN1_MISSING_FIELD;
asn1_addlenfield(val->tr_contents.length,val->tr_contents.data,
1,asn1_encode_charstring);