crc: fix signed overflow
authorMans Rullgard <mans@mansr.com>
Sat, 8 Oct 2011 00:59:51 +0000 (01:59 +0100)
committerMichael Niedermayer <michaelni@gmx.at>
Fri, 4 Nov 2011 00:02:03 +0000 (01:02 +0100)
This fixes a signed overflow from i << 24 when i == 255 by
making i unsigned.  The result of the shift is already
assigned to an variable of unsigned type.

Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit 8b19ae07616bbd18969b94cbf5d74308a8f2bbdf)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavutil/crc.c

index c3d74a2..d0e736e 100644 (file)
@@ -57,7 +57,7 @@ static AVCRC av_crc_table[AV_CRC_MAX][257];
  * @return <0 on failure
  */
 int av_crc_init(AVCRC *ctx, int le, int bits, uint32_t poly, int ctx_size){
-    int i, j;
+    unsigned i, j;
     uint32_t c;
 
     if (bits < 8 || bits > 32 || poly >= (1LL<<bits))