1
0

- u_render-Cast-color-masks-to-unsigned-long-before-shifting-them.patch:

Make sure result of shift operation fits into type of variable. This
  fixes finding the correct visual for RENDER with a BGRA framebuffer
  (bnc#876757).

OBS-URL: https://build.opensuse.org/package/show/X11:XOrg/xorg-x11-server?expand=0&rev=520
This commit is contained in:
Egbert Eich 2014-05-30 23:47:45 +00:00 committed by Git OBS Bridge
parent 5cd006c211
commit 49cb1d999d
3 changed files with 51 additions and 0 deletions

View File

@ -0,0 +1,41 @@
From: Egbert Eich <eich@hammer45.arch.suse.de>
Date: Fri May 30 19:08:00 2014 -0400
Subject: [PATCH]render: Cast color masks to unsigned long before shifting them
Patch-mainline: to be upstreamed
Git-commit: 6ec9a78f9b79668239c3a1519d715cbecf186cef
Git-repo:
References: bnc#876757
Signed-off-by: Egbert Eich <eich@suse.com>
The color masks in DirectFormatRec are CARD16. Shifting them may lead
to unexpected results. Cast them to unsigned long to make sure the
shifted value will still fit into that type.
Signed-off-by: Egbert Eich <eich@suse.de>
---
render/picture.c | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/render/picture.c b/render/picture.c
index 2908b76..74369de 100644
--- a/render/picture.c
+++ b/render/picture.c
@@ -548,12 +548,12 @@ PictureMatchVisual(ScreenPtr pScreen, int depth, VisualPtr pVisual)
return format;
}
else {
- if (format->direct.redMask << format->direct.red ==
- pVisual->redMask &&
- format->direct.greenMask << format->direct.green ==
- pVisual->greenMask &&
- format->direct.blueMask << format->direct.blue ==
- pVisual->blueMask) {
+ if (((unsigned long)format->direct.redMask) <<
+ format->direct.red == pVisual->redMask &&
+ ((unsigned long)format->direct.greenMask) <<
+ format->direct.green == pVisual->greenMask &&
+ ((unsigned long)format->direct.blueMask) <<
+ format->direct.blue == pVisual->blueMask) {
return format;
}
}

View File

@ -1,3 +1,11 @@
-------------------------------------------------------------------
Fri May 30 23:44:55 UTC 2014 - eich@suse.com
- u_render-Cast-color-masks-to-unsigned-long-before-shifting-them.patch:
Make sure result of shift operation fits into type of variable. This
fixes finding the correct visual for RENDER with a BGRA framebuffer
(bnc#876757).
-------------------------------------------------------------------
Wed May 28 11:00:49 UTC 2014 - sndirsch@suse.com

View File

@ -152,6 +152,7 @@ Patch106: u_exa-only-draw-valid-trapezoids.patch
Patch107: u_arch-Fix-image-and-bitmap-byte-order-for-ppc64le.patch
Patch110: u_connection-avoid-crash-when-CloseWellKnownConnections-gets-called-twice.patch
Patch111: u_CloseConsole-Don-t-report-FatalError-when-shutting-down.patch
Patch112: u_render-Cast-color-masks-to-unsigned-long-before-shifting-them.patch
Patch162: b_cache-xkbcomp-output-for-fast-start-up.patch
Patch211: b_0001-Prevent-XSync-Alarms-from-senslessly-calling-CheckTr.patch
@ -229,6 +230,7 @@ cp %{SOURCE90} .
%patch107 -p1
%patch110 -p1
%patch111 -p1
%patch112 -p1
### disabled for now
#%patch162 -p1