Hi, On Thu, Nov 3, 2011 at 6:15 PM, Alex Converse <[email protected]> wrote: > --- > libavutil/aes.c | 9 +++++---- > 1 files changed, 5 insertions(+), 4 deletions(-) > > diff --git a/libavutil/aes.c b/libavutil/aes.c > index ace317f..07ee405 100644 > --- a/libavutil/aes.c > +++ b/libavutil/aes.c > @@ -222,11 +222,9 @@ int av_aes_init(AVAES *a, const uint8_t *key, int > key_bits, int decrypt) > a->rounds = rounds; > > memcpy(tk, key, KC * 4); > + memcpy(a->round_key[0].u8, key, KC * 4); > > - for (t = 0; t < (rounds + 1) * 16;) { > - memcpy(a->round_key[0].u8 + t, tk, KC * 4); > - t += KC * 4; > - > + for (t = KC * 4; t < (rounds + 1) * 16;) { > for (i = 0; i < 4; i++) > tk[0][i] ^= sbox[tk[KC - 1][(i + 1) & 3]]; > tk[0][0] ^= rcon[rconpointer++]; > @@ -239,6 +237,9 @@ int av_aes_init(AVAES *a, const uint8_t *key, int > key_bits, int decrypt) > for (i = 0; i < 4; i++) > tk[j][i] ^= sbox[tk[j - 1][i]]; > } > + > + memcpy(a->round_key[0].u8 + t, tk, KC * 4); > + t += KC * 4; > } > > if (decrypt) {
I don't think I understand the patch, how does it prevent the read? Is there a break halfway this loop? It looks OK, assuming output didn't change. Ronald _______________________________________________ libav-devel mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-devel
