• J
    random: do not sign extend bytes for rotation when mixing · 0d9488ff
    Jason A. Donenfeld 提交于
    By using `char` instead of `unsigned char`, certain platforms will sign
    extend the byte when `w = rol32(*bytes++, input_rotate)` is called,
    meaning that bit 7 is overrepresented when mixing. This isn't a real
    problem (unless the mixer itself is already broken) since it's still
    invertible, but it's not quite correct either. Fix this by using an
    explicit unsigned type.
    Signed-off-by: NJason A. Donenfeld <Jason@zx2c4.com>
    0d9488ff
random.c 67.8 KB