doh: avoid truncating DNS QTYPE to lower octet

Closes #4381
This commit is contained in:
Niall O'Reilly 2019-09-19 14:38:14 +01:00 committed by Daniel Stenberg
parent 0a4ecbdf1c
commit 0d59addff6
No known key found for this signature in database
GPG key ID: 5CC908FDB71E12C2

View file

@ -135,8 +135,10 @@ UNITTEST DOHcode doh_encode(const char *host,
}
} while(1);
*dnsp++ = '\0'; /* upper 8 bit TYPE */
*dnsp++ = (unsigned char)dnstype;
/* There are assigned TYPE codes beyond 255: use range [1..65535] */
*dnsp++ = (unsigned char)(255 & (dnstype>>8)); /* upper 8 bit TYPE */
*dnsp++ = (unsigned char)(255 & dnstype); /* lower 8 bit TYPE */
*dnsp++ = '\0'; /* upper 8 bit CLASS */
*dnsp++ = DNS_CLASS_IN; /* IN - "the Internet" */