mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-30 15:43:32 +01:00
Fix Keccak undefined behavior on exotic platforms.
Bug reported and diagnosed in: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=975977 Fixes bug #40210.
This commit is contained in:
parent
fcae26adf7
commit
d89974c5c6
5
changes/bug40210
Normal file
5
changes/bug40210
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
o Minor features (crypto):
|
||||||
|
- Fix undefined behavior on our Keccak library. The bug only appears on
|
||||||
|
platforms with 32-byte CPU cache lines (e.g. armv5tel) and would result
|
||||||
|
in wrong digests. Fixes bug 40210; bugfix on 0.2.8.1-alpha. Thanks to
|
||||||
|
Bernhard Übelacker, Arnd Bergmann and weasel for diagnosing this.
|
@ -21,7 +21,7 @@ typedef struct keccak_state {
|
|||||||
size_t offset;
|
size_t offset;
|
||||||
|
|
||||||
uint8_t finalized : 1;
|
uint8_t finalized : 1;
|
||||||
} keccak_state;
|
} __attribute__((aligned(8))) keccak_state;
|
||||||
|
|
||||||
/* Initialize a Keccak instance suitable for SHA-3 hash functions. */
|
/* Initialize a Keccak instance suitable for SHA-3 hash functions. */
|
||||||
int keccak_digest_init(keccak_state *s, size_t bits);
|
int keccak_digest_init(keccak_state *s, size_t bits);
|
||||||
|
Loading…
Reference in New Issue
Block a user