diff options
author | Giuseppe Bilotta <giuseppe.bilotta@gmail.com> | 2018-02-06 22:02:42 +0100 |
---|---|---|
committer | Giuseppe Bilotta <giuseppe.bilotta@gmail.com> | 2018-02-27 12:18:07 +0100 |
commit | da61a8bd95bd20d45397eee6a6c0d3ad5a50c399 (patch) | |
tree | f12d35d92d108fefbe899f5dfef73246366d36f5 | |
parent | 5e95248b5bab1254ecedffb6cb681b0ee06c0f29 (diff) |
xrandr: gamma and scaling factors must be positive
Signed-off-by: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Keith Packard <keithp@keithp.com>
-rw-r--r-- | xrandr.c | 5 |
1 files changed, 5 insertions, 0 deletions
@@ -2979,6 +2979,9 @@ main (int argc, char **argv) argerr ("%s: invalid argument '%s'\n", argv[i-1], argv[i]); config_output->gamma.green = config_output->gamma.blue = config_output->gamma.red; } + if (config_output->gamma.red <= 0.0 || config_output->gamma.green <= 0.0 || + config_output->gamma.blue <= 0.0) + argerr ("gamma correction factors must be positive\n"); config_output->changes |= changes_gamma; setit_1_2 = True; continue; @@ -3030,6 +3033,8 @@ main (int argc, char **argv) argerr ("failed to parse '%s' as a scaling factor\n", argv[i]); sy = sx; } + if (sx <= 0.0 || sy <= 0.0) + argerr ("scaling factors must be positive\n"); init_transform (&config_output->transform); config_output->transform.transform.matrix[0][0] = XDoubleToFixed (sx); config_output->transform.transform.matrix[1][1] = XDoubleToFixed (sy); |