File tree Expand file tree Collapse file tree 1 file changed +11
-6
lines changed Expand file tree Collapse file tree 1 file changed +11
-6
lines changed Original file line number Diff line number Diff line change @@ -297,6 +297,7 @@ main(int argc, char *argv[])
297
297
long_options , & optindex )) != -1 )
298
298
{
299
299
char * endptr ;
300
+ unsigned long optval ;
300
301
301
302
switch (c )
302
303
{
@@ -409,30 +410,34 @@ main(int argc, char *argv[])
409
410
}
410
411
break ;
411
412
case 7 :
412
- opts .startblock = strtol (optarg , & endptr , 10 );
413
- if (* endptr != '\0' )
413
+ errno = 0 ;
414
+ optval = strtoul (optarg , & endptr , 10 );
415
+ if (endptr == optarg || * endptr != '\0' || errno != 0 )
414
416
{
415
417
pg_log_error ("invalid start block" );
416
418
exit (1 );
417
419
}
418
- if (opts . startblock > MaxBlockNumber || opts . startblock < 0 )
420
+ if (optval > MaxBlockNumber )
419
421
{
420
422
pg_log_error ("start block out of bounds" );
421
423
exit (1 );
422
424
}
425
+ opts .startblock = optval ;
423
426
break ;
424
427
case 8 :
425
- opts .endblock = strtol (optarg , & endptr , 10 );
426
- if (* endptr != '\0' )
428
+ errno = 0 ;
429
+ optval = strtoul (optarg , & endptr , 10 );
430
+ if (endptr == optarg || * endptr != '\0' || errno != 0 )
427
431
{
428
432
pg_log_error ("invalid end block" );
429
433
exit (1 );
430
434
}
431
- if (opts . endblock > MaxBlockNumber || opts . endblock < 0 )
435
+ if (optval > MaxBlockNumber )
432
436
{
433
437
pg_log_error ("end block out of bounds" );
434
438
exit (1 );
435
439
}
440
+ opts .endblock = optval ;
436
441
break ;
437
442
case 9 :
438
443
opts .rootdescend = true;
You can’t perform that action at this time.
0 commit comments