diff options
author | Florian Weimer <fweimer@redhat.com> | 2021-07-15 08:28:50 +0200 |
---|---|---|
committer | Florian Weimer <fweimer@redhat.com> | 2021-07-15 08:39:02 +0200 |
commit | 2ff32dd4926c7ec3bb6c09b58a12a8e828a4cc58 (patch) | |
tree | 3f95064771e01583725f69f940581a07be661c2c /resolv/nss_dns/dns-canon.c | |
parent | 389c1114d122d78fcf2d4d08ffd6335853c8adef (diff) | |
download | glibc-2ff32dd4926c7ec3bb6c09b58a12a8e828a4cc58.tar.gz glibc-2ff32dd4926c7ec3bb6c09b58a12a8e828a4cc58.tar.xz glibc-2ff32dd4926c7ec3bb6c09b58a12a8e828a4cc58.zip |
nss_dns: Do not use deprecated packet parsing functions
Reviewed-by: Carlos O'Donell <carlos@redhat.com> Tested-by: Carlos O'Donell <carlos@redhat.com>
Diffstat (limited to 'resolv/nss_dns/dns-canon.c')
-rw-r--r-- | resolv/nss_dns/dns-canon.c | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/resolv/nss_dns/dns-canon.c b/resolv/nss_dns/dns-canon.c index cb321a0650..1cdc9a86c9 100644 --- a/resolv/nss_dns/dns-canon.c +++ b/resolv/nss_dns/dns-canon.c @@ -150,15 +150,18 @@ _nss_dns_getcanonname_r (const char *name, char *buffer, size_t buflen, if (type != ns_t_cname) goto unavail; - if (__ns_get16 (ptr) != ns_c_in) + uint16_t rrclass; + NS_GET16 (rrclass, ptr); + if (rrclass != ns_c_in) goto unavail; - /* Also skip over class and TTL. */ - ptr += sizeof (uint16_t) + sizeof (uint32_t); + /* Skip over TTL. */ + ptr += sizeof (uint32_t); /* Skip over RDATA length and RDATA itself. */ - uint16_t rdatalen = __ns_get16 (ptr); - ptr += sizeof (uint16_t); + uint16_t rdatalen; + NS_GET16 (rdatalen, ptr); + /* Not enough room for RDATA. */ if (endptr - ptr < rdatalen) goto unavail; |