summaryrefslogtreecommitdiffstats
path: root/patches/source/xorg-server/patch/xorg-server/0017-Add-REQUEST_FIXED_SIZE-testcases-to-test-misc.c.patch
diff options
context:
space:
mode:
Diffstat (limited to 'patches/source/xorg-server/patch/xorg-server/0017-Add-REQUEST_FIXED_SIZE-testcases-to-test-misc.c.patch')
-rw-r--r--patches/source/xorg-server/patch/xorg-server/0017-Add-REQUEST_FIXED_SIZE-testcases-to-test-misc.c.patch75
1 files changed, 75 insertions, 0 deletions
diff --git a/patches/source/xorg-server/patch/xorg-server/0017-Add-REQUEST_FIXED_SIZE-testcases-to-test-misc.c.patch b/patches/source/xorg-server/patch/xorg-server/0017-Add-REQUEST_FIXED_SIZE-testcases-to-test-misc.c.patch
new file mode 100644
index 000000000..1e9580e63
--- /dev/null
+++ b/patches/source/xorg-server/patch/xorg-server/0017-Add-REQUEST_FIXED_SIZE-testcases-to-test-misc.c.patch
@@ -0,0 +1,75 @@
+From 04e6f8dff7e989f0181a1a8fb45c3bb918ee20d9 Mon Sep 17 00:00:00 2001
+From: Alan Coopersmith <alan.coopersmith@oracle.com>
+Date: Sun, 9 Feb 2014 22:42:47 -0800
+Subject: [PATCH 17/31] Add REQUEST_FIXED_SIZE testcases to test/misc.c
+
+Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
+Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
+Signed-off-by: Fedora X Ninjas <x@fedoraproject.org>
+---
+ test/misc.c | 37 +++++++++++++++++++++++++++++++++++++
+ 1 file changed, 37 insertions(+)
+
+diff --git a/test/misc.c b/test/misc.c
+index dd792e6..66330a1 100644
+--- a/test/misc.c
++++ b/test/misc.c
+@@ -28,6 +28,8 @@
+ #include <stdint.h>
+ #include "misc.h"
+ #include "scrnintstr.h"
++#include "dix.h"
++#include "dixstruct.h"
+
+ ScreenInfo screenInfo;
+
+@@ -155,11 +157,46 @@ dix_update_desktop_dimensions(void)
+ assert_dimensions(-w2, -h2, w2, h2);
+ }
+
++static int
++dix_request_fixed_size_overflow(ClientRec *client)
++{
++ xReq req = { 0 };
++
++ client->req_len = req.length = 1;
++ REQUEST_FIXED_SIZE(req, SIZE_MAX);
++ return Success;
++}
++
++static int
++dix_request_fixed_size_match(ClientRec *client)
++{
++ xReq req = { 0 };
++
++ client->req_len = req.length = 9;
++ REQUEST_FIXED_SIZE(req, 30);
++ return Success;
++}
++
++static void
++dix_request_size_checks(void)
++{
++ ClientRec client = { 0 };
++ int rc;
++
++ rc = dix_request_fixed_size_overflow(&client);
++ assert(rc == BadLength);
++
++ rc = dix_request_fixed_size_match(&client);
++ assert(rc == Success);
++}
++
++
+ int
+ main(int argc, char **argv)
+ {
+ dix_version_compare();
+ dix_update_desktop_dimensions();
++ dix_request_size_checks();
+
+ return 0;
+ }
+--
+1.9.3
+