mirror of
https://github.com/isc-projects/bind9.git
synced 2026-06-03 13:59:27 -04:00
Prevent arithmetic overflow of 'i' in master.c:generate
the value of 'i' in generate could overflow when adding 'step' to it in the 'for' loop. Use an unsigned int for 'i' which will give an additional bit and prevent the overflow. The inputs are both less than 2^31 and and the result will be less than 2^32-1.
This commit is contained in:
parent
3dd8af9aa8
commit
5abdee9004
1 changed files with 3 additions and 2 deletions
|
|
@ -790,7 +790,8 @@ generate(dns_loadctx_t *lctx, char *range, char *lhs, char *gtype, char *rhs,
|
|||
isc_buffer_t target;
|
||||
isc_result_t result;
|
||||
isc_textregion_t r;
|
||||
int i, n, start, stop, step = 0;
|
||||
int n, start, stop, step = 0;
|
||||
unsigned int i;
|
||||
dns_incctx_t *ictx;
|
||||
char dummy[2];
|
||||
|
||||
|
|
@ -845,7 +846,7 @@ generate(dns_loadctx_t *lctx, char *range, char *lhs, char *gtype, char *rhs,
|
|||
goto insist_cleanup;
|
||||
}
|
||||
|
||||
for (i = start; i <= stop; i += step) {
|
||||
for (i = start; i <= (unsigned int)stop; i += step) {
|
||||
result = genname(lhs, i, lhsbuf, DNS_MASTER_LHS);
|
||||
if (result != ISC_R_SUCCESS) {
|
||||
goto error_cleanup;
|
||||
|
|
|
|||
Loading…
Reference in a new issue