mirror of https://git.ffmpeg.org/ffmpeg.git
avcodec/dvdsubdec: Fixes 2 runtime error: left shift of 170 by 24 places cannot be represented in type 'int'
Fixes: 619/clusterfuzz-testcase-5803914534322176
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 61ee2ca775
)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
This commit is contained in:
parent
a0a20e6994
commit
4b6a747c2a
|
@ -186,12 +186,12 @@ static void guess_palette(DVDSubContext* ctx,
|
||||||
r = (((subtitle_color >> 16) & 0xff) * level) >> 8;
|
r = (((subtitle_color >> 16) & 0xff) * level) >> 8;
|
||||||
g = (((subtitle_color >> 8) & 0xff) * level) >> 8;
|
g = (((subtitle_color >> 8) & 0xff) * level) >> 8;
|
||||||
b = (((subtitle_color >> 0) & 0xff) * level) >> 8;
|
b = (((subtitle_color >> 0) & 0xff) * level) >> 8;
|
||||||
rgba_palette[i] = b | (g << 8) | (r << 16) | ((alpha[i] * 17) << 24);
|
rgba_palette[i] = b | (g << 8) | (r << 16) | ((alpha[i] * 17U) << 24);
|
||||||
color_used[colormap[i]] = (i + 1);
|
color_used[colormap[i]] = (i + 1);
|
||||||
j++;
|
j++;
|
||||||
} else {
|
} else {
|
||||||
rgba_palette[i] = (rgba_palette[color_used[colormap[i]] - 1] & 0x00ffffff) |
|
rgba_palette[i] = (rgba_palette[color_used[colormap[i]] - 1] & 0x00ffffff) |
|
||||||
((alpha[i] * 17) << 24);
|
((alpha[i] * 17U) << 24);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue