summaryrefslogtreecommitdiff
path: root/libavutil/aes.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2011-11-11 02:32:38 +0100
committerMichael Niedermayer <michaelni@gmx.at>2011-11-11 02:50:35 +0100
commit6d91045d835635fe889f684bdf77f68e00b15d0b (patch)
treead30db96b3ae0e94efbb8878e0850bd2945bdaf6 /libavutil/aes.c
parent554caed2d397e137286f2cc71c6bac477b41fa96 (diff)
parent299809defb05eae093cb72da97dfbbb7e17e08fe (diff)
Merge remote-tracking branch 'qatar/master'
* qatar/master: (29 commits) doc: update libavfilter documentation tls: Use the URLContext as logging context aes: Avoid illegal read and don't generate more key than we use. mpc7: Fix memset call in mpc7_decode_frame function atrac1: use correct context for av_log() apedec: consume the whole packet when copying to the decoder buffer. apedec: do not needlessly copy s->samples to nblocks. apedec: check output buffer size after calculating actual output size apedec: remove unneeded entropy decoder normalization. truespeech: use memmove() in truespeech_update_filters() vorbisdec: remove AVCODEC_MAX_AUDIO_FRAME_SIZE check vorbisdec: remove unneeded buf_size==0 check vorbisdec: return proper error codes instead of made-up ones http: Don't add a Range: bytes=0- header for POST sunrast: Check for invalid/corrupted bitstream http: Change the chunksize AVOption into chunked_post http: Add encoding/decoding flags to the AVOptions avconv: remove some codec-specific hacks crypto: add decoding flag to options. tls: use AVIO_FLAG_NONBLOCK instead of deprecated URL_FLAG_NONBLOCK ... Conflicts: doc/libavfilter.texi libavcodec/atrac1.c libavcodec/sunrast.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavutil/aes.c')
-rw-r--r--libavutil/aes.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/libavutil/aes.c b/libavutil/aes.c
index 49093efc53..af55261864 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; t += KC * 4) {
for (i = 0; i < 4; i++)
tk[0][i] ^= sbox[tk[KC - 1][(i + 1) & 3]];
tk[0][0] ^= rcon[rconpointer++];
@@ -239,6 +237,8 @@ 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);
}
if (decrypt) {