mirror of
git://sourceware.org/git/glibc.git
synced 2024-11-27 03:41:23 +08:00
resolv: Fix some unaligned accesses in resolver [BZ #30750]
Signed-off-by: John David Anglin <dave.anglin@bell.net>
This commit is contained in:
parent
f510d75ff7
commit
5aa4bb67b9
@ -84,6 +84,7 @@
|
||||
|
||||
#include <arpa/nameser.h>
|
||||
#include <resolv.h>
|
||||
#include <resolv/resolv-internal.h>
|
||||
|
||||
/* Author: paul vixie, 29may94. */
|
||||
int
|
||||
@ -91,7 +92,7 @@ __libc_res_nameinquery (const char *name, int type, int class,
|
||||
const unsigned char *buf, const unsigned char *eom)
|
||||
{
|
||||
const unsigned char *cp = buf + HFIXEDSZ;
|
||||
int qdcount = ntohs (((HEADER *) buf)->qdcount);
|
||||
int qdcount = ntohs (((UHEADER *) buf)->qdcount);
|
||||
|
||||
while (qdcount-- > 0)
|
||||
{
|
||||
|
@ -83,6 +83,7 @@
|
||||
*/
|
||||
|
||||
#include <resolv.h>
|
||||
#include <resolv/resolv-internal.h>
|
||||
|
||||
/* Author: paul vixie, 29may94. */
|
||||
int
|
||||
@ -102,7 +103,7 @@ __libc_res_queriesmatch (const unsigned char *buf1, const unsigned char *eom1,
|
||||
order. We can compare it with the second buffer's QDCOUNT
|
||||
value without doing this. */
|
||||
int qdcount = ((HEADER *) buf1)->qdcount;
|
||||
if (qdcount != ((HEADER *) buf2)->qdcount)
|
||||
if (qdcount != ((UHEADER *) buf2)->qdcount)
|
||||
return 0;
|
||||
|
||||
qdcount = htons (qdcount);
|
||||
|
Loading…
Reference in New Issue
Block a user