]> git.sesse.net Git - ffmpeg/commitdiff
sha: use AV_RB32() instead of assuming buffer can be cast to uint32_t*
authorKostya Shishkov <kostya.shishkov@gmail.com>
Mon, 4 Jul 2011 09:57:46 +0000 (11:57 +0200)
committerMans Rullgard <mans@mansr.com>
Mon, 4 Jul 2011 10:16:52 +0000 (11:16 +0100)
Signed-off-by: Mans Rullgard <mans@mansr.com>
libavutil/sha.c

index ae6069dd343ab360d433a9adbc83486bc388c55f..5af742dc48f6cd20a46b8e98aa8d047753682037 100644 (file)
@@ -42,7 +42,7 @@ const int av_sha_size = sizeof(AVSHA);
 #define rol(value, bits) (((value) << (bits)) | ((value) >> (32 - (bits))))
 
 /* (R0+R1), R2, R3, R4 are the different operations used in SHA1 */
-#define blk0(i) (block[i] = av_be2ne32(((const uint32_t*)buffer)[i]))
+#define blk0(i) (block[i] = AV_RB32(buffer + 4 * (i)))
 #define blk(i)  (block[i] = rol(block[i-3] ^ block[i-8] ^ block[i-14] ^ block[i-16], 1))
 
 #define R0(v,w,x,y,z,i) z += ((w&(x^y))^y)     + blk0(i) + 0x5A827999 + rol(v, 5); w = rol(w, 30);
@@ -67,7 +67,7 @@ static void sha1_transform(uint32_t state[5], const uint8_t buffer[64])
     for (i = 0; i < 80; i++) {
         int t;
         if (i < 16)
-            t = av_be2ne32(((uint32_t*)buffer)[i]);
+            t = AV_RB32(buffer + 4 * i);
         else
             t = rol(block[i-3] ^ block[i-8] ^ block[i-14] ^ block[i-16], 1);
         block[i] = t;