On Mon, Jul 04, 2011 at 11:06:15AM +0100, Måns Rullgård wrote: > Kostya Shishkov <[email protected]> writes: > > > --- > > libavutil/sha.c | 4 ++-- > > 1 files changed, 2 insertions(+), 2 deletions(-) > > > > diff --git a/libavutil/sha.c b/libavutil/sha.c > > index ae6069d..b941b4a 100644 > > --- a/libavutil/sha.c > > +++ b/libavutil/sha.c > > @@ -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(((const uint8_t*)buffer) + 4 * (i))) > > Drop the cast, buffer is already a uint8_t *. > > > #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; > > -- > > Looks OK otherwise.
Here you are.
>From 2338a2c7037fb50508084270b56617ee69d73344 Mon Sep 17 00:00:00 2001 From: Kostya Shishkov <[email protected]> Date: Mon, 4 Jul 2011 11:57:46 +0200 Subject: [PATCH] sha: use AV_RB32() instead of assuming that buffer can be cast to uint32_t* --- libavutil/sha.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/libavutil/sha.c b/libavutil/sha.c index ae6069d..5af742d 100644 --- a/libavutil/sha.c +++ b/libavutil/sha.c @@ -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; -- 1.7.0.4
_______________________________________________ libav-devel mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-devel
