summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorNirbheek Chauhan <nirbheek@centricular.com>2015-09-05 01:50:41 +0530
committerThibault Saunier <tsaunier@gnome.org>2015-09-04 23:32:36 +0200
commitcf786a9399d6f9d723000d35d3e1ad2a52a09295 (patch)
treea54d130c80df2a89a583a02d70edeb339f3df775 /tests
parentde29038d1e0a102181f062061f9b1d330721017f (diff)
downloadgstreamer-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.c11
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;