Skip to content

Commit 12e80c5

Browse files
committed
fix: va_end conflicts with variable argument lists usage
1 parent 8da5388 commit 12e80c5

File tree

1 file changed

+26
-26
lines changed

1 file changed

+26
-26
lines changed

src/PE/layout_check.cpp

Lines changed: 26 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -45,8 +45,8 @@ class LayoutChecker {
4545
section_alignment(bin.optional_header().section_alignment()),
4646
file_alignment(bin.optional_header().file_alignment()),
4747
sizeof_headers(bin.optional_header().sizeof_headers()),
48-
va_start(bin.imagebase()),
49-
va_end(bin.imagebase() + bin.virtual_size())
48+
vaddr_start(bin.imagebase()),
49+
vaddr_end(bin.imagebase() + bin.virtual_size())
5050
{}
5151

5252
bool check_dos_header();
@@ -137,7 +137,7 @@ class LayoutChecker {
137137
}
138138

139139
bool contains(uint64_t va) const {
140-
return va_start <= va && va < va_end;
140+
return vaddr_start <= va && va < vaddr_end;
141141
}
142142

143143
bool contains(optional<uint64_t> va) const {
@@ -156,8 +156,8 @@ class LayoutChecker {
156156
uint32_t section_alignment = 0;
157157
uint32_t file_alignment = 0;
158158
uint64_t sizeof_headers = 0;
159-
uint64_t va_start = 0;
160-
uint64_t va_end = 0;
159+
uint64_t vaddr_start = 0;
160+
uint64_t vaddr_end = 0;
161161
};
162162

163163

@@ -483,107 +483,107 @@ bool LayoutChecker::check_load_config() {
483483

484484
if (!contains(config->security_cookie())) {
485485
return error("Security cookie out of range: {:#010x} ([{:#010x}, {:#010x}])",
486-
config->security_cookie(), va_start, va_end);
486+
config->security_cookie(), vaddr_start, vaddr_end);
487487
}
488488

489489
if (!contains(config->lock_prefix_table())) {
490490
return error("Lock prefix table out of range: {:#010x} ([{:#010x}, {:#010x}])",
491-
config->lock_prefix_table(), va_start, va_end);
491+
config->lock_prefix_table(), vaddr_start, vaddr_end);
492492
}
493493

494494
if (!contains(config->se_handler_table())) {
495495
return error("SE handler table out of range: {:#010x} ([{:#010x}, {:#010x}])",
496-
config->se_handler_table().value_or(0), va_start, va_end);
496+
config->se_handler_table().value_or(0), vaddr_start, vaddr_end);
497497
}
498498

499499
if (!contains(config->guard_cf_check_function_pointer())) {
500500
return error("Guard CF check function pointer out of range: {:#010x} ([{:#010x}, {:#010x}])",
501-
config->guard_cf_check_function_pointer().value_or(0), va_start, va_end);
501+
config->guard_cf_check_function_pointer().value_or(0), vaddr_start, vaddr_end);
502502
}
503503

504504
if (!contains(config->guard_cf_dispatch_function_pointer())) {
505505
return error("Guard CF dispatch function pointer out of range: {:#010x} ([{:#010x}, {:#010x}])",
506-
config->guard_cf_dispatch_function_pointer().value_or(0), va_start, va_end);
506+
config->guard_cf_dispatch_function_pointer().value_or(0), vaddr_start, vaddr_end);
507507
}
508508

509509
if (!contains(config->guard_address_taken_iat_entry_table())) {
510510
return error("Guard address taken IAT entry table out of range: {:#010x} ([{:#010x}, {:#010x}])",
511-
config->guard_address_taken_iat_entry_table().value_or(0), va_start, va_end);
511+
config->guard_address_taken_iat_entry_table().value_or(0), vaddr_start, vaddr_end);
512512
}
513513

514514
if (!contains(config->guard_long_jump_target_table())) {
515515
return error("Guard long jump target table out of range: {:#010x} ([{:#010x}, {:#010x}])",
516-
config->guard_long_jump_target_table().value_or(0), va_start, va_end);
516+
config->guard_long_jump_target_table().value_or(0), vaddr_start, vaddr_end);
517517
}
518518

519519
if (!contains(config->dynamic_value_reloc_table())) {
520520
return error("Dynamic value reloc table out of range: {:#010x} ([{:#010x}, {:#010x}])",
521-
config->dynamic_value_reloc_table().value_or(0), va_start, va_end);
521+
config->dynamic_value_reloc_table().value_or(0), vaddr_start, vaddr_end);
522522
}
523523

524524
if (!contains(config->hybrid_metadata_pointer())) {
525525
return error("Hybrid metadata pointer out of range: {:#010x} ([{:#010x}, {:#010x}])",
526-
config->hybrid_metadata_pointer().value_or(0), va_start, va_end);
526+
config->hybrid_metadata_pointer().value_or(0), vaddr_start, vaddr_end);
527527
}
528528

529529
if (!contains(config->guard_rf_failure_routine())) {
530530
return error("Guard RF failure routine out of range: {:#010x} ([{:#010x}, {:#010x}])",
531-
config->guard_rf_failure_routine().value_or(0), va_start, va_end);
531+
config->guard_rf_failure_routine().value_or(0), vaddr_start, vaddr_end);
532532
}
533533

534534
if (!contains(config->guard_rf_failure_routine_function_pointer())) {
535535
return error("Guard RF failure routine function pointer out of range: {:#010x} ([{:#010x}, {:#010x}])",
536-
config->guard_rf_failure_routine_function_pointer().value_or(0), va_start, va_end);
536+
config->guard_rf_failure_routine_function_pointer().value_or(0), vaddr_start, vaddr_end);
537537
}
538538

539539
if (!contains(config->guard_rf_verify_stackpointer_function_pointer())) {
540540
return error("Guard RF verify stack pointer function pointer out of range: {:#010x} ([{:#010x}, {:#010x}])",
541-
config->guard_rf_verify_stackpointer_function_pointer().value_or(0), va_start, va_end);
541+
config->guard_rf_verify_stackpointer_function_pointer().value_or(0), vaddr_start, vaddr_end);
542542
}
543543

544544
if (!contains(config->enclave_configuration_ptr())) {
545545
return error("Enclave configuration pointer out of range: {:#010x} ([{:#010x}, {:#010x}])",
546-
config->enclave_configuration_ptr().value_or(0), va_start, va_end);
546+
config->enclave_configuration_ptr().value_or(0), vaddr_start, vaddr_end);
547547
}
548548

549549
if (!contains(config->volatile_metadata_pointer())) {
550550
return error("Volatile metadata pointer out of range: {:#010x} ([{:#010x}, {:#010x}])",
551-
config->volatile_metadata_pointer().value_or(0), va_start, va_end);
551+
config->volatile_metadata_pointer().value_or(0), vaddr_start, vaddr_end);
552552
}
553553

554554
if (!contains(config->guard_eh_continuation_table())) {
555555
return error("Guard EH continuation table out of range: {:#010x} ([{:#010x}, {:#010x}])",
556-
config->guard_eh_continuation_table().value_or(0), va_start, va_end);
556+
config->guard_eh_continuation_table().value_or(0), vaddr_start, vaddr_end);
557557
}
558558

559559
if (!contains(config->guard_xfg_check_function_pointer())) {
560560
return error("Guard XFG check function pointer out of range: {:#010x} ([{:#010x}, {:#010x}])",
561-
config->guard_xfg_check_function_pointer().value_or(0), va_start, va_end);
561+
config->guard_xfg_check_function_pointer().value_or(0), vaddr_start, vaddr_end);
562562
}
563563

564564
if (!contains(config->guard_xfg_dispatch_function_pointer())) {
565565
return error("Guard XFG dispatch function pointer out of range: {:#010x} ([{:#010x}, {:#010x}])",
566-
config->guard_xfg_dispatch_function_pointer().value_or(0), va_start, va_end);
566+
config->guard_xfg_dispatch_function_pointer().value_or(0), vaddr_start, vaddr_end);
567567
}
568568

569569
if (!contains(config->guard_xfg_table_dispatch_function_pointer())) {
570570
return error("Guard XFG table dispatch function pointer out of range: {:#010x} ([{:#010x}, {:#010x}])",
571-
config->guard_xfg_table_dispatch_function_pointer().value_or(0), va_start, va_end);
571+
config->guard_xfg_table_dispatch_function_pointer().value_or(0), vaddr_start, vaddr_end);
572572
}
573573

574574
if (!contains(config->cast_guard_os_determined_failure_mode())) {
575575
return error("Cast guard OS determined failure mode out of range: {:#010x} ([{:#010x}, {:#010x}])",
576-
config->cast_guard_os_determined_failure_mode().value_or(0), va_start, va_end);
576+
config->cast_guard_os_determined_failure_mode().value_or(0), vaddr_start, vaddr_end);
577577
}
578578

579579
if (!contains(config->guard_memcpy_function_pointer())) {
580580
return error("Guard memcpy function pointer out of range: {:#010x} ([{:#010x}, {:#010x}])",
581-
config->guard_memcpy_function_pointer().value_or(0), va_start, va_end);
581+
config->guard_memcpy_function_pointer().value_or(0), vaddr_start, vaddr_end);
582582
}
583583

584584
if (!contains(config->uma_function_pointers())) {
585585
return error("UMA function pointers out of range: {:#010x} ([{:#010x}, {:#010x}])",
586-
config->uma_function_pointers().value_or(0), va_start, va_end);
586+
config->uma_function_pointers().value_or(0), vaddr_start, vaddr_end);
587587
}
588588

589589
return true;

0 commit comments

Comments
 (0)