diff options
author | beck <> | 2019-05-14 15:40:44 +0000 |
---|---|---|
committer | beck <> | 2019-05-14 15:40:44 +0000 |
commit | 2c2c35c0049fbdfba552a1b37df4e879e2a30af3 (patch) | |
tree | 58fd4f2f4f9378d1af09a87a8486019377c51a78 | |
parent | e5c91b949e0eaacab243f26b39804cf6163a2ac2 (diff) | |
download | openbsd-2c2c35c0049fbdfba552a1b37df4e879e2a30af3.tar.gz openbsd-2c2c35c0049fbdfba552a1b37df4e879e2a30af3.tar.bz2 openbsd-2c2c35c0049fbdfba552a1b37df4e879e2a30af3.zip |
Correct missing test to determine if length is in bytes or in bits.
Issue found by Guido Vranken <guidovranken@gmail.com>
ok tedu@ tb@
-rw-r--r-- | src/lib/libcrypto/evp/e_des3.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/lib/libcrypto/evp/e_des3.c b/src/lib/libcrypto/evp/e_des3.c index 3cb95a8e22..0138839763 100644 --- a/src/lib/libcrypto/evp/e_des3.c +++ b/src/lib/libcrypto/evp/e_des3.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: e_des3.c,v 1.19 2015/10/12 06:05:52 guenther Exp $ */ | 1 | /* $OpenBSD: e_des3.c,v 1.20 2019/05/14 15:40:44 beck Exp $ */ |
2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) |
3 | * All rights reserved. | 3 | * All rights reserved. |
4 | * | 4 | * |
@@ -163,6 +163,8 @@ des_ede3_cfb1_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out, | |||
163 | { | 163 | { |
164 | size_t n; | 164 | size_t n; |
165 | unsigned char c[1], d[1]; | 165 | unsigned char c[1], d[1]; |
166 | if (!(ctx->flags & EVP_CIPH_FLAG_LENGTH_BITS)) | ||
167 | inl *= 8; | ||
166 | 168 | ||
167 | for (n = 0; n < inl; ++n) { | 169 | for (n = 0; n < inl; ++n) { |
168 | c[0] = (in[n/8]&(1 << (7 - n % 8))) ? 0x80 : 0; | 170 | c[0] = (in[n/8]&(1 << (7 - n % 8))) ? 0x80 : 0; |