xorg-libxcb/src
Christian Linhart 7758257567 Fix handling of align-pads in end-iterators
If a list is preceded by an align-pad, then
accessor for the end-iterator returned a wrong
value.

Reason: the length of the align-iterator was added
to a pointer of list-member type. Therefore, the length
was multiplied by the size of the list-member type,
due to C pointer arithmetic rules.

This has looked like the following, e.g., in
xcb_randr_get_crtc_transform_pending_params_end:

i.data = ((xcb_render_fixed_t *) prev.data) + ((-prev.index) & (4 - 1)) + (R->pending_nparams);

This bug was introduced with the following commit:
http://cgit.freedesktop.org/xcb/libxcb/commit/?id=4033d39d4da21842bb1396a419dfc299591c3b1f

The fix handles this by casting to char* before adding the align,
and then casting the result to the member type.

Signed-off-by: Christian Linhart <chris@demorecorder.com>
2016-01-06 02:23:28 +01:00
..
man generated man pages: use xorg footer and no hard coded extension 2014-01-30 12:10:06 +09:00
.gitignore Add Present extension 2013-11-07 14:02:37 -08:00
c_client.py Fix handling of align-pads in end-iterators 2016-01-06 02:23:28 +01:00
Makefile.am make support for server side stuff optional 2015-07-04 16:25:23 +02:00
xcb.h expose 64-bit sequence numbers for XLib 2015-04-08 11:55:48 +02:00
xcb_auth.c Remove tabs and trailing whitespaces 2014-03-21 14:35:16 +01:00
xcb_conn.c xcb_get_setup(): Never return NULL 2014-08-25 19:15:34 -04:00
xcb_ext.c Always include "config.h" at the start of all C source files. 2012-08-25 12:34:24 -07:00
xcb_in.c Fix a thread hang with xcb_wait_for_special_event() 2015-06-25 20:38:48 +02:00
xcb_list.c Define _xcb_map_new with explicit void arg list instead of empty one 2013-08-06 11:10:01 -07:00
xcb_out.c send_fds(): Handle too many outstanding FDs to send 2015-06-12 09:39:13 +02:00
xcb_util.c xcb_open: Improve abstraction for launchd secure sockets 2014-04-10 09:50:57 -07:00
xcb_windefs.h Remove tabs and trailing whitespaces 2014-03-21 14:35:16 +01:00
xcb_xid.c Always include "config.h" at the start of all C source files. 2012-08-25 12:34:24 -07:00
xcbext.h Add xcb_send_request_with_fds() and *_with_fds64() 2015-06-12 09:39:12 +02:00
xcbint.h Fix a thread hang with xcb_wait_for_special_event() 2015-06-25 20:38:48 +02:00