summaryrefslogtreecommitdiff
path: root/ares_parse_mx_reply.c
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2010-12-18 22:20:16 +0100
committerDaniel Stenberg <daniel@haxx.se>2010-12-18 22:20:16 +0100
commit2d5ed6400ba430f412ebc9748eb847771907776d (patch)
treebbe36882fb4e4ff5d2cb30ab5851fa0d25a8fbb0 /ares_parse_mx_reply.c
parent70b726c3343f83d7d3460dce0b24e8930c6f6195 (diff)
downloadc-ares-2d5ed6400ba430f412ebc9748eb847771907776d.tar.gz
c-ares-2d5ed6400ba430f412ebc9748eb847771907776d.tar.bz2
c-ares-2d5ed6400ba430f412ebc9748eb847771907776d.zip
cleanup: avoid unsafe typecasts
Avoid the risk of reading 16bit data from an unaligned address by using a macro that is adapted for this.
Diffstat (limited to 'ares_parse_mx_reply.c')
-rw-r--r--ares_parse_mx_reply.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/ares_parse_mx_reply.c b/ares_parse_mx_reply.c
index 186ddd3..2180054 100644
--- a/ares_parse_mx_reply.c
+++ b/ares_parse_mx_reply.c
@@ -47,7 +47,7 @@
int
ares_parse_mx_reply (const unsigned char *abuf, int alen,
- struct ares_mx_reply **mx_out)
+ struct ares_mx_reply **mx_out)
{
unsigned int qdcount, ancount, i;
const unsigned char *aptr, *vptr;
@@ -134,7 +134,7 @@ ares_parse_mx_reply (const unsigned char *abuf, int alen,
mx_last = mx_curr;
vptr = aptr;
- mx_curr->priority = ntohs (*((unsigned short *)vptr));
+ mx_curr->priority = DNS__16BIT(vptr);
vptr += sizeof(unsigned short);
status = ares_expand_name (vptr, abuf, alen, &mx_curr->host, &len);