Matt Caswell
3475c7a185
Fix unintended sign extension
...
The function CRYPTO_128_unwrap_pad uses an 8 byte AIV (Alternative Initial
Value). The least significant 4 bytes of this is placed into the local
variable |ptext_len|. This is done as follows:
ptext_len = (aiv[4] << 24) | (aiv[5] << 16) | (aiv[6] << 8) | aiv[7];
aiv[4] is an unsigned char, but (aiv[4] << 24) is promoted to a *signed*
int - therefore we could end up shifting into the sign bit and end up with
a negative value. |ptext_len| is a size_t (typically 64-bits). If the
result of the shifts is negative then the upper bits of |ptext_len| will
all be 1.
This commit fixes the issue by explicitly casting to an unsigned int.
Reviewed-by: Richard Levitte <levitte@openssl.org>
2015-03-17 13:39:53 +00:00
..
2015-03-13 21:10:13 -07:00
2015-03-16 15:54:19 +00:00
2015-01-29 01:54:09 +01:00
2015-03-10 12:32:39 +01:00
2015-03-12 09:18:22 +00:00
2015-02-13 13:50:36 +00:00
2015-02-24 10:11:36 +01:00
2015-02-02 11:11:34 -05:00
2015-01-22 09:20:09 +00:00
2015-03-05 09:09:57 +00:00
2015-01-29 21:38:57 -05:00
2015-02-12 13:00:42 -05:00
2015-02-09 08:58:43 +01:00
2015-03-12 09:22:56 +00:00
2015-03-12 09:23:42 +00:00
2015-03-05 09:09:57 +00:00
2015-03-14 18:23:41 +01:00
2015-03-15 15:56:24 +00:00
2015-03-15 15:56:24 +00:00
2015-03-11 09:29:37 -04:00
2015-03-11 09:29:37 -04:00
2015-03-12 09:19:24 +00:00
2015-02-10 14:32:56 +00:00
2015-01-29 01:54:09 +01:00
2015-01-22 09:20:09 +00:00
2015-01-22 09:20:09 +00:00
2015-01-22 09:20:09 +00:00
2015-01-28 12:27:23 -05:00
2015-01-22 09:20:09 +00:00
2015-01-29 01:54:09 +01:00
2015-01-29 01:54:09 +01:00
2015-02-06 16:49:17 -05:00
2015-03-17 13:39:53 +00:00
2015-03-05 09:09:57 +00:00
2015-03-12 14:12:17 +00:00
2015-02-06 16:49:17 -05:00
2015-02-24 10:11:36 +01:00
2015-03-16 15:54:19 +00:00
2015-03-16 15:54:19 +00:00
2015-01-30 12:46:49 -05:00
2015-03-05 09:09:57 +00:00
2015-01-29 01:54:09 +01:00
2015-01-29 01:54:09 +01:00
2015-01-24 10:58:38 -05:00
2015-02-03 11:20:56 -05:00
2015-03-12 09:26:14 +00:00
2015-01-22 09:20:09 +00:00
2015-03-08 14:09:32 +01:00
2015-02-03 11:20:56 -05:00
2015-03-17 13:39:53 +00:00
2015-02-06 10:47:53 -05:00
2015-03-05 09:09:57 +00:00
2015-03-12 14:12:17 +00:00
2015-01-27 10:06:22 -05:00
2015-02-21 23:51:05 +01:00
2015-01-22 09:20:10 +00:00
2015-03-16 15:54:19 +00:00
2015-03-12 14:12:17 +00:00
2011-08-12 12:28:52 +00:00
2015-01-23 15:38:41 +01:00
2015-01-22 09:20:09 +00:00
2015-01-23 15:38:41 +01:00
2015-01-04 23:45:08 +01:00
2014-05-04 16:38:32 +02:00
2015-01-22 09:20:09 +00:00
2015-01-22 09:20:09 +00:00
2015-01-22 09:20:09 +00:00
2015-01-27 16:43:53 -05:00
2015-01-22 09:20:09 +00:00
2015-03-05 18:20:06 +01:00
2015-01-27 17:44:12 -05:00
2015-01-22 09:20:09 +00:00
2015-01-22 09:20:09 +00:00
2015-01-22 09:20:09 +00:00
2015-02-09 12:53:36 +00:00
2015-01-22 09:20:09 +00:00
2015-01-22 09:20:09 +00:00
2011-05-07 20:36:05 +00:00
2015-02-06 16:49:17 -05:00
2015-01-22 09:20:09 +00:00
2015-01-22 09:20:09 +00:00
2015-01-22 09:20:09 +00:00
2015-01-22 09:20:09 +00:00
2015-01-22 09:20:09 +00:00
2015-01-22 09:20:09 +00:00
2015-01-22 09:20:09 +00:00
2015-01-23 15:38:41 +01:00
2015-01-23 19:09:01 +01:00
2015-01-22 09:20:09 +00:00
2015-01-22 09:20:09 +00:00
2015-01-22 09:20:09 +00:00
2015-01-22 09:20:09 +00:00
2015-01-22 09:20:09 +00:00
2015-01-22 09:20:09 +00:00
2015-01-22 09:20:09 +00:00
2015-02-02 11:08:16 -05:00
2015-01-23 11:58:26 -05:00
2015-01-22 09:20:09 +00:00
2015-01-22 09:20:10 +00:00
2014-12-28 01:17:52 -05:00
2015-01-22 09:20:09 +00:00
2015-03-12 14:12:17 +00:00
2013-06-18 10:37:00 +02:00
2015-01-22 09:20:09 +00:00
2015-01-22 09:20:09 +00:00
2014-06-04 08:34:18 +02:00
2015-01-22 09:20:09 +00:00
2011-04-17 12:46:00 +00:00
2015-01-22 09:20:09 +00:00
2013-02-11 10:39:50 +01:00
2015-02-02 11:08:16 -05:00
2015-02-06 14:52:40 -05:00
2015-01-22 09:20:09 +00:00
2015-01-22 09:20:09 +00:00
2015-01-22 09:20:09 +00:00
2014-02-14 17:24:12 +01:00
2014-08-09 08:02:20 -04:00