summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJakub Hrozek <jhrozek@redhat.com>2011-04-12 10:10:25 +0200
committerStephen Gallagher <sgallagh@redhat.com>2011-04-12 09:26:52 -0400
commitd177994b641fc995de385a7069fadaf3a362254d (patch)
treea8646fb3c0ccc891ac5cee57a7f20b97b8e82f2c
parent4d77dd4ee6cf4935892bb702ca9ea3fb8e3ae265 (diff)
downloadsssd-d177994b641fc995de385a7069fadaf3a362254d.tar.gz
sssd-d177994b641fc995de385a7069fadaf3a362254d.tar.xz
sssd-d177994b641fc995de385a7069fadaf3a362254d.zip
Use safe alignment macros for in-tree SRV record parsing
The in-tree SRV record parsing is used with very old c-ares libraries that don't implement the parsing themselves (c-ares < 1.7, used in e.g. RHEL5)
-rw-r--r--src/resolv/ares/ares_parse_srv_reply.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/resolv/ares/ares_parse_srv_reply.c b/src/resolv/ares/ares_parse_srv_reply.c
index 086c4dba0..7e01e1a6d 100644
--- a/src/resolv/ares/ares_parse_srv_reply.c
+++ b/src/resolv/ares/ares_parse_srv_reply.c
@@ -143,11 +143,11 @@ int _ares_parse_srv_reply (const unsigned char *abuf, int alen,
srv_last = srv_curr;
vptr = aptr;
- srv_curr->priority = ntohs (*((const unsigned short *)vptr));
+ srv_curr->priority = DNS__16BIT(vptr);
vptr += sizeof(const unsigned short);
- srv_curr->weight = ntohs (*((const unsigned short *)vptr));
+ srv_curr->weight = DNS__16BIT(vptr);
vptr += sizeof(const unsigned short);
- srv_curr->port = ntohs (*((const unsigned short *)vptr));
+ srv_curr->port = DNS__16BIT(vptr);
vptr += sizeof(const unsigned short);
status = ares_expand_name (vptr, abuf, alen, &srv_curr->host, &len);