[PATCH] Fix misaligned access accessing HEADER struct in res_query.c

John David Anglin dave.anglin@bell.net
Wed Jun 15 14:40:00 GMT 2016


On 2016-06-15 8:16 AM, Andreas Schwab wrote:
> Florian Weimer<fweimer@redhat.com>  writes:
>
>> >On 06/15/2016 01:42 PM, John David Anglin wrote:
>>> >>The attached patch fixes BZ 20243.  The HEADER struct needs to be packed so that
>>> >>byte accesses are used.  Tested using glibc 2.22-11on hppa.  Please install if okay.
>> >
>>> >>-} HEADER;
>>> >>+} __attribute__ ((packed)) HEADER;
>> >
>> >Unfortunately, we cannot apply this simple fix because this is a public
>> >header, and the above changes alignment of the struct.  It would also have
>> >to be __attribute__ ((__packed__)).
> It also needs to work with other compilers.

The packed attribute is used in several places in glibc.  Maybe a packed 
derivative of HEADER
can be used in res_query.c to avoid the above issue?

I don't think the packed derivative affects the layout of HEADER given 
the way the fields are
arranged.

Dave

-- 
John David Anglin  dave.anglin@bell.net



More information about the Libc-alpha mailing list