[FFmpeg-devel] [PATCH 2/2] avcodec/svq3: Reject dx/dy beyond 16bit
Nicolas George
george at nsup.org
Thu Apr 27 16:22:53 EEST 2017
L'octidi 8 floréal, an CCXXV, Michael Niedermayer a écrit :
> The code does use 16bit sized arrays later so larger deltas would not work
>
> Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>
> ---
> libavcodec/svq3.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/libavcodec/svq3.c b/libavcodec/svq3.c
> index 3e35fd73d6..76a465b9c0 100644
> --- a/libavcodec/svq3.c
> +++ b/libavcodec/svq3.c
> @@ -551,7 +551,7 @@ static inline int svq3_mc_dir(SVQ3Context *s, int size, int mode,
> dy = get_interleaved_se_golomb(&s->gb_slice);
> dx = get_interleaved_se_golomb(&s->gb_slice);
>
> - if (dx == INVALID_VLC || dy == INVALID_VLC) {
> + if (dx != (int16_t)dx || dy != (int16_t)dy) {
Is this cast not an undefined behaviour if dx is not in the range?
An explicit "& 0x7FFF" may be better. Or using uint16_t, I do not know
the code.
> av_log(s->avctx, AV_LOG_ERROR, "invalid MV vlc\n");
> return -1;
> }
Regards,
--
Nicolas George
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: Digital signature
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20170427/93ca08bb/attachment.sig>
More information about the ffmpeg-devel
mailing list