The only valid parameters to -o (--orientation) are 0, 1, 2, 3, normal, left, inverted, and right. xrandr converts the strings to numbers and then checks that they're within range, but doesn't validate them if it was numeric to begin with.
Move the range check outside of the if statement so that out-of-range numeric values are rejected properly. Signed-off-by: Aaron Plattner <[email protected]> --- xrandr.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xrandr.c b/xrandr.c index 54e0ca8..a9bd9e5 100644 --- a/xrandr.c +++ b/xrandr.c @@ -2591,8 +2591,8 @@ main (int argc, char **argv) for (dirind = 0; dirind < 4; dirind++) { if (strcmp (direction[dirind], argv[i]) == 0) break; } - if ((dirind < 0) || (dirind > 3)) usage(); } + if ((dirind < 0) || (dirind > 3)) usage(); rot = dirind; setit = True; action_requested = True; -- 1.7.12 _______________________________________________ [email protected]: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
