diff options
author | Nirbheek Chauhan <nirbheek@centricular.com> | 2015-09-05 01:50:41 +0530 |
---|---|---|
committer | Thibault Saunier <tsaunier@gnome.org> | 2015-09-04 23:32:36 +0200 |
commit | cf786a9399d6f9d723000d35d3e1ad2a52a09295 (patch) | |
tree | a54d130c80df2a89a583a02d70edeb339f3df775 /tests | |
parent | de29038d1e0a102181f062061f9b1d330721017f (diff) | |
download | gstreamer-plugins-bad-cf786a9399d6f9d723000d35d3e1ad2a52a09295.tar.gz |
compositor: Ensure all arguments to CLAMP are signed int
If any of the arguments to CLAMP are unsigned integers, the comparison causes
an automatic conversion of the signed int to unsigned, which causes -1 to become
UINT_MAX and get clamped to the high value of the CLAMP instead of 0.
See 716 at http://c0x.coding-guidelines.com/6.3.1.8.html
Also add a test for this.
https://bugzilla.gnome.org/show_bug.cgi?id=754576
Diffstat (limited to 'tests')
-rw-r--r-- | tests/check/elements/compositor.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/tests/check/elements/compositor.c b/tests/check/elements/compositor.c index dc1a58f03..ccd68a197 100644 --- a/tests/check/elements/compositor.c +++ b/tests/check/elements/compositor.c @@ -1326,6 +1326,17 @@ GST_START_TEST (test_obscured_skipped) out_width = out_height = 0; buffer_mapped = FALSE; + xpos1 = -1; + xpos0 = ypos0 = width0 = height0 = width1 = height1 = 10; + out_width = out_height = 20; + GST_INFO ("testing bug 754576"); + _test_obscured (caps_str, xpos0, ypos0, width0, height0, alpha0, xpos1, ypos1, + width1, height1, alpha1, out_width, out_height); + fail_unless (buffer_mapped == TRUE); + xpos0 = xpos1 = ypos1 = width0 = height0 = width1 = height1 = 0; + out_width = out_height = 0; + buffer_mapped = FALSE; + xpos0 = ypos0 = 10000; out_width = 320; out_height = 240; |