diff options
author | Michael Niedermayer <michael@niedermayer.cc> | 2019-06-30 20:45:29 +0300 |
---|---|---|
committer | Michael Niedermayer <michael@niedermayer.cc> | 2019-07-19 22:42:38 +0300 |
commit | 6ebbfb377f7b6dcbf6a5c85b10109e838bd6e675 (patch) | |
tree | d0dfa09a857006c2edd210323bf4ea07376c4e8b /libavcodec/agm.c | |
parent | 7d3581e6bbec309ca0cc617c37cf6e87547764ef (diff) |
avcodec/agm: Fix overflow of signed shift
Fixes: left shift of 1 by 31 places cannot be represented in type 'int'
Fixes: 15328/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_AGM_fuzzer-5637545171353600
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Diffstat (limited to 'libavcodec/agm.c')
-rw-r--r-- | libavcodec/agm.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/libavcodec/agm.c b/libavcodec/agm.c index a499c09082..2c4c9805e9 100644 --- a/libavcodec/agm.c +++ b/libavcodec/agm.c @@ -918,7 +918,7 @@ static void get_tree_codes(uint32_t *codes, Node *nodes, int idx, uint32_t pfx, codes[idx] = pfx; } else if (idx >= 0) { get_tree_codes(codes, nodes, nodes[idx].child[0], pfx + (0 << bitpos), bitpos + 1); - get_tree_codes(codes, nodes, nodes[idx].child[1], pfx + (1 << bitpos), bitpos + 1); + get_tree_codes(codes, nodes, nodes[idx].child[1], pfx + (1U << bitpos), bitpos + 1); } } |