[FFmpeg-cvslog] dirac_vlc: prevent shifting a 0 by 64 bits when zeroing residue

Rostislav Pehlivanov git at videolan.org
Thu Jul 14 02:30:10 CEST 2016


ffmpeg | branch: master | Rostislav Pehlivanov <atomnuker at gmail.com> | Thu Jul 14 01:26:51 2016 +0100| [f41e37b84f3d57c29d4a2a21f9337159135b981d] | committer: Rostislav Pehlivanov

dirac_vlc: prevent shifting a 0 by 64 bits when zeroing residue

Adding a check for bits == 0 would still make Coverity misdetect this,
so just revert to the normal way of setting the residue to 0.

Signed-off-by: Rostislav Pehlivanov <atomnuker at gmail.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=f41e37b84f3d57c29d4a2a21f9337159135b981d
---

 libavcodec/dirac_vlc.c |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/libavcodec/dirac_vlc.c b/libavcodec/dirac_vlc.c
index d874278..336d22a 100644
--- a/libavcodec/dirac_vlc.c
+++ b/libavcodec/dirac_vlc.c
@@ -65,7 +65,7 @@ int ff_dirac_golomb_read_32bit(DiracGolombLUT *lut_ctx, const uint8_t *buf,
                 coeff |= (res >> (RSIZE_BITS - 2*i - 2)) & 1;
             }
             dst[c_idx++] = l->sign * (coeff - 1);
-            SET_RESIDUE(res, 0, 0);
+            res_bits = res = 0;
         }
 
         memcpy(&dst[c_idx], l->ready, LUT_BITS*sizeof(int32_t));
@@ -104,7 +104,7 @@ int ff_dirac_golomb_read_16bit(DiracGolombLUT *lut_ctx, const uint8_t *buf,
                 coeff |= (res >> (RSIZE_BITS - 2*i - 2)) & 1;
             }
             dst[c_idx++] = l->sign * (coeff - 1);
-            SET_RESIDUE(res, 0, 0);
+            res_bits = res = 0;
         }
 
         for (i = 0; i < LUT_BITS; i++)



More information about the ffmpeg-cvslog mailing list