mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
parseutils: reliably detect out-of-range alpha.
This should fix the FATE test on ARM (not tested), but it should also detect alpha values like 2^128 reliably as invalid which would be another out-of-range case with implementation-dependant behaviour. Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
This commit is contained in:
parent
44bd2f90a9
commit
2b336df3cb
@ -394,7 +394,11 @@ int av_parse_color(uint8_t *rgba_color, const char *color_string, int slen,
|
||||
if (!strncmp(alpha_string, "0x", 2)) {
|
||||
alpha = strtoul(alpha_string, &tail, 16);
|
||||
} else {
|
||||
alpha = 255 * strtod(alpha_string, &tail);
|
||||
double norm_alpha = strtod(alpha_string, &tail);
|
||||
if (norm_alpha < 0.0 || norm_alpha > 1.0)
|
||||
alpha = 256;
|
||||
else
|
||||
alpha = 255 * norm_alpha;
|
||||
}
|
||||
|
||||
if (tail == alpha_string || *tail || alpha > 255) {
|
||||
|
Loading…
Reference in New Issue
Block a user