dst_context_t *ctx = NULL;
isc_mem_t *mctx;
isc_result_t result;
- isc_uint16_t addcount;
+ isc_uint16_t addcount, addcount_n;
isc_boolean_t signeedsfree = ISC_FALSE;
REQUIRE(source != NULL);
* Decrement the additional field counter.
*/
memmove(&addcount, &header[DNS_MESSAGE_HEADERLEN - 2], 2);
- addcount = htons((isc_uint16_t)(ntohs(addcount) - 1));
+ addcount_n = ntohs(addcount);
+ addcount = htons((isc_uint16_t)(addcount_n - 1));
memmove(&header[DNS_MESSAGE_HEADERLEN - 2], &addcount, 2);
/*
}
if (tsig.siglen > 0) {
+ isc_uint16_t addcount_n;
+
sig_r.base = tsig.signature;
sig_r.length = tsig.siglen;
* Decrement the additional field counter.
*/
memmove(&addcount, &header[DNS_MESSAGE_HEADERLEN - 2], 2);
- addcount = htons((isc_uint16_t)(ntohs(addcount) - 1));
+ addcount_n = ntohs(addcount);
+ addcount = htons((isc_uint16_t)(addcount_n - 1));
memmove(&header[DNS_MESSAGE_HEADERLEN - 2], &addcount, 2);
/*
* Decrement the additional field counter if necessary.
*/
if (has_tsig) {
+ isc_uint16_t addcount_n;
+
memmove(&addcount, &header[DNS_MESSAGE_HEADERLEN - 2], 2);
- addcount = htons((isc_uint16_t)(ntohs(addcount) - 1));
+ addcount_n = ntohs(addcount);
+ addcount = htons((isc_uint16_t)(addcount_n - 1));
memmove(&header[DNS_MESSAGE_HEADERLEN - 2], &addcount, 2);
}