Summary: | potential unaligned memory access in render.c on 64 bits architectures | ||||||
---|---|---|---|---|---|---|---|
Product: | xorg | Reporter: | Matthieu Herrb <matthieu.herrb> | ||||
Component: | Server/General | Assignee: | Xorg Project Team <xorg-team> | ||||
Status: | RESOLVED FIXED | QA Contact: | |||||
Severity: | normal | ||||||
Priority: | high | ||||||
Version: | git | ||||||
Hardware: | Other | ||||||
OS: | OpenBSD | ||||||
Whiteboard: | |||||||
i915 platform: | i915 features: | ||||||
Bug Depends on: | |||||||
Bug Blocks: | 1690 | ||||||
Attachments: |
|
Description
Matthieu Herrb
2005-07-16 07:24:07 UTC
Created attachment 3095 [details]
xorg.0.log with VESA driver, 6.8.99.15
mention render in the summary Created attachment 3313 [details] [review] xkbdesc-ibr-kz-20050918-1643.diff For the records - I've independently found the same bug in XFree86 4.5 under NetBSD/sparc64. The problem seems to be that GlyphSet and a few other types are defined as unsigned long but the code in render.c assumes sizeof(GlyphSet)==4 which leads to unaligned accesses sooner or later. They should probably be CARD32 instead, or something else that's guaranteed to be 32bit. Our fix is slightly different though. mathieu, could you please reattach so I can apply? got lost in the disk crash. Created attachment 3074 [details] [review] Here's the patch used in OpenBSD applied to head, thanks! |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.