more INSISTs for proper range before passing integers to isc_buffer_putuint16

This commit is contained in:
David Lawrence
1999-10-17 22:40:05 +00:00
parent 7c03787452
commit 13eaef2df2

View File

@@ -337,8 +337,11 @@ dns_rdataset_towire(dns_rdataset_t *rdataset,
dns_compress_localinvalidate(cctx);
if (result != DNS_R_SUCCESS)
goto rollback;
INSIST((target->used >= rdlen.used + 2) &&
(target->used - rdlen.used - 2 < 65536));
isc_buffer_putuint16(&rdlen,
target->used - rdlen.used - 2);
(isc_uint16_t)(target->used -
rdlen.used - 2));
}
count++;
@@ -354,7 +357,8 @@ dns_rdataset_towire(dns_rdataset_t *rdataset,
return (DNS_R_SUCCESS);
rollback:
dns_compress_rollback(cctx, savedbuffer.used);
INSIST(savedbuffer.used < 65536);
dns_compress_rollback(cctx, (isc_uint16_t)savedbuffer.used);
*countp = 0;
*target = savedbuffer;