xcb_auth.c doesn't treat ipv6-mapped ipv4-addresses correctly
Submitted by Christoph Pfister
Assigned to xcb mailing list dummy
Description
from irc:
<no_where>
I believe I have found a bug in libxcb: src/xcb_auth.c. Line 190 reads:
<no_where>
APPEND(info->data, j, si6->sin6_addr.s6_addr[12]);
<no_where>
As far as I can see, this will copy exactly one byte, because sizeof(si6->sin6_addr.s6_addr[12]) is 1. But it should copy four bytes, namely the IPv6-mapped IPv4-address from bytes 12 through 15.
<no_where>
Can some knowledgable person confirm this, and if this analysis is correct, file a bug report?
<christoph4>
no_where: hmm, your statement makes sense
<no_where>
christoph4: at least in the old libX11/.../ConnDis.c, 4 bytes were copied explicitly
i've checked the xcb_auth.c code of current git head, and it matches the description