mirror of
https://github.com/AtHeartEngineer/sss.git
synced 2026-01-07 20:13:49 -05:00
Fix possible shift overflow UB in unbitslice()
Fixes #36 Signed-off-by: Daan Sprenkels <daan@dsprenkels.com>
This commit is contained in:
committed by
Daan Sprenkels
parent
31b39c500d
commit
10e0a90cb6
4
hazmat.c
4
hazmat.c
@@ -40,7 +40,7 @@ bitslice(uint32_t r[8], const uint8_t x[32])
|
||||
for (arr_idx = 0; arr_idx < 32; arr_idx++) {
|
||||
cur = (uint32_t) x[arr_idx];
|
||||
for (bit_idx = 0; bit_idx < 8; bit_idx++) {
|
||||
r[bit_idx] |= ((cur & (1 << bit_idx)) >> bit_idx) << arr_idx;
|
||||
r[bit_idx] |= ((cur >> bit_idx) & 1) << arr_idx;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -56,7 +56,7 @@ unbitslice(uint8_t r[32], const uint32_t x[8])
|
||||
for (bit_idx = 0; bit_idx < 8; bit_idx++) {
|
||||
cur = (uint32_t) x[bit_idx];
|
||||
for (arr_idx = 0; arr_idx < 32; arr_idx++) {
|
||||
r[arr_idx] |= ((cur & (1 << arr_idx)) >> arr_idx) << bit_idx;
|
||||
r[arr_idx] |= ((cur >> arr_idx) & 1) << bit_idx;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user