diff options
Diffstat (limited to '')
-rw-r--r-- | patches/source/xorg-server/patch/xorg-server/0001-Missing-parens-in-REQUEST_FIXED_SIZE-macro-CVE-2014-.patch | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/patches/source/xorg-server/patch/xorg-server/0001-Missing-parens-in-REQUEST_FIXED_SIZE-macro-CVE-2014-.patch b/patches/source/xorg-server/patch/xorg-server/0001-Missing-parens-in-REQUEST_FIXED_SIZE-macro-CVE-2014-.patch new file mode 100644 index 000000000..ea5a3a30d --- /dev/null +++ b/patches/source/xorg-server/patch/xorg-server/0001-Missing-parens-in-REQUEST_FIXED_SIZE-macro-CVE-2014-.patch @@ -0,0 +1,32 @@ +From 9802a0162f738de03585ca3f3b8a8266494f7d45 Mon Sep 17 00:00:00 2001 +From: Keith Packard <keithp@keithp.com> +Date: Tue, 9 Dec 2014 09:30:59 -0800 +Subject: [PATCH 1/2] Missing parens in REQUEST_FIXED_SIZE macro [CVE-2014-8092 + pt. 5] + +The 'n' parameter must be surrounded by parens in both places to +prevent precedence from mis-computing things. + +Signed-off-by: Keith Packard <keithp@keithp.com> +Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com> +Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> +--- + include/dix.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/include/dix.h b/include/dix.h +index 21176a8..921156b 100644 +--- a/include/dix.h ++++ b/include/dix.h +@@ -80,7 +80,7 @@ SOFTWARE. + + #define REQUEST_FIXED_SIZE(req, n)\ + if (((sizeof(req) >> 2) > client->req_len) || \ +- ((n >> 2) >= client->req_len) || \ ++ (((n) >> 2) >= client->req_len) || \ + ((((uint64_t) sizeof(req) + (n) + 3) >> 2) != (uint64_t) client->req_len)) \ + return(BadLength) + +-- +2.1.0 + |