diff options
author | Tom Yu <tlyu@mit.edu> | 1998-12-04 03:16:56 +0000 |
---|---|---|
committer | Tom Yu <tlyu@mit.edu> | 1998-12-04 03:16:56 +0000 |
commit | d8df800c97ae727767b8725faa65b849e4c61cb0 (patch) | |
tree | cf0589ee9f0db8c426bb8a4ada8244b6ab7de0d0 /src/lib/krb5 | |
parent | 462e5b1415c2917596e1730ee2cfc23c7bb18556 (diff) | |
download | krb5-d8df800c97ae727767b8725faa65b849e4c61cb0.tar.gz krb5-d8df800c97ae727767b8725faa65b849e4c61cb0.tar.xz krb5-d8df800c97ae727767b8725faa65b849e4c61cb0.zip |
* asn1_k_decode.c (asn1_decode_krb5_flags): Fix previous to
properly left-justify bit strings less than 32 bits.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@11057 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/lib/krb5')
-rw-r--r-- | src/lib/krb5/asn.1/ChangeLog | 4 | ||||
-rw-r--r-- | src/lib/krb5/asn.1/asn1_k_decode.c | 5 |
2 files changed, 8 insertions, 1 deletions
diff --git a/src/lib/krb5/asn.1/ChangeLog b/src/lib/krb5/asn.1/ChangeLog index a3d98ad5f..52e04d26f 100644 --- a/src/lib/krb5/asn.1/ChangeLog +++ b/src/lib/krb5/asn.1/ChangeLog @@ -1,5 +1,9 @@ Thu Dec 3 19:41:06 1998 Tom Yu <tlyu@mit.edu> + + * asn1_k_decode.c (asn1_decode_krb5_flags): Fix previous to + properly left-justify bit strings less than 32 bits. + * asn1_k_decode.c (asn1_decode_krb5_flags): Modify to deal with BIT STRING values that are not exactly 32 bits. Throw away bits beyond number 31 in a bit string for now. Deal with masking out diff --git a/src/lib/krb5/asn.1/asn1_k_decode.c b/src/lib/krb5/asn.1/asn1_k_decode.c index 226b0443d..090fcc3d9 100644 --- a/src/lib/krb5/asn.1/asn1_k_decode.c +++ b/src/lib/krb5/asn.1/asn1_k_decode.c @@ -298,8 +298,11 @@ asn1_error_code asn1_decode_krb5_flags(buf, val) } if (length <= 4) { /* Mask out unused bits, but only if necessary. */ - f &= ~0 << unused; + f &= ~(krb5_flags)0 << unused; } + /* left-justify */ + if (length < 4) + f <<= (4 - length) * 8; *val = f; return 0; } |