@@ -306,8 +306,9 @@ static void PrintStackAllocations(const StackAllocationsRingBuffer *sa,
306306 " %p is located %zd bytes %s a %zd-byte local variable %s "
307307 " [%p,%p) "
308308 " in %s %s\n " ,
309- untagged_addr, offset, whence, local.size , local.name , best_beg,
310- best_beg + local.size , local.function_name , location.data ());
309+ (void *)untagged_addr, offset, whence, local.size , local.name ,
310+ (void *)best_beg, (void *)(best_beg + local.size ),
311+ local.function_name , location.data ());
311312 location.clear ();
312313 Printf (" %s\n " , d.Default ());
313314 }
@@ -738,8 +739,8 @@ void BaseReport::PrintHeapOrGlobalCandidate() const {
738739 Printf (" %s" , d.Location ());
739740 Printf (" %p is located %zd bytes %s a %zd-byte region [%p,%p)\n " ,
740741 untagged_addr, offset, whence,
741- candidate.heap .end - candidate.heap .begin , candidate. heap . begin ,
742- candidate.heap .end );
742+ candidate.heap .end - candidate.heap .begin ,
743+ ( void *)candidate. heap . begin , ( void *) candidate.heap .end );
743744 Printf (" %s" , d.Allocation ());
744745 Printf (" allocated by thread T%u here:\n " , candidate.heap .thread_id );
745746 Printf (" %s" , d.Default ());
@@ -762,26 +763,26 @@ void BaseReport::PrintHeapOrGlobalCandidate() const {
762763 Printf (
763764 " %p is located %zd bytes %s a %zd-byte global variable "
764765 " %s [%p,%p) in %s\n " ,
765- untagged_addr,
766+ ( void *) untagged_addr,
766767 candidate.after ? untagged_addr - (info.start + info.size )
767768 : info.start - untagged_addr,
768769 candidate.after ? " after" : " before" , info.size , info.name ,
769- info.start , info.start + info.size , module_name);
770+ ( void *) info.start , ( void *)( info.start + info.size ) , module_name);
770771 } else {
771772 uptr size = GetGlobalSizeFromDescriptor (candidate.untagged_addr );
772773 if (size == 0 )
773774 // We couldn't find the size of the global from the descriptors.
774775 Printf (
775776 " %p is located %s a global variable in "
776777 " \n #0 0x%x (%s+0x%x)\n " ,
777- untagged_addr, candidate.after ? " after" : " before" ,
778- candidate.untagged_addr , module_name, module_address);
778+ ( void *) untagged_addr, candidate.after ? " after" : " before" ,
779+ ( void *) candidate.untagged_addr , module_name, ( u32 ) module_address);
779780 else
780781 Printf (
781782 " %p is located %s a %zd-byte global variable in "
782783 " \n #0 0x%x (%s+0x%x)\n " ,
783- untagged_addr, candidate.after ? " after" : " before" , size,
784- candidate.untagged_addr , module_name, module_address);
784+ ( void *) untagged_addr, candidate.after ? " after" : " before" , size,
785+ ( void *) candidate.untagged_addr , module_name, ( u32 ) module_address);
785786 }
786787 Printf (" %s" , d.Default ());
787788 }
@@ -792,8 +793,8 @@ void BaseReport::PrintAddressDescription() const {
792793 int num_descriptions_printed = 0 ;
793794
794795 if (MemIsShadow (untagged_addr)) {
795- Printf (" %s%p is HWAsan shadow memory.\n %s" , d.Location (), untagged_addr,
796- d.Default ());
796+ Printf (" %s%p is HWAsan shadow memory.\n %s" , d.Location (),
797+ ( void *)untagged_addr, d.Default ());
797798 return ;
798799 }
799800
@@ -802,7 +803,7 @@ void BaseReport::PrintAddressDescription() const {
802803 Printf (
803804 " %s[%p,%p) is a %s %s heap chunk; "
804805 " size: %zd offset: %zd\n %s" ,
805- d.Location (), heap.begin , heap.begin + heap.size ,
806+ d.Location (), ( void *) heap.begin , ( void *)( heap.begin + heap.size ) ,
806807 heap.from_small_heap ? " small" : " large" ,
807808 heap.is_allocated ? " allocated" : " unallocated" , heap.size ,
808809 untagged_addr - heap.begin , d.Default ());
@@ -821,8 +822,8 @@ void BaseReport::PrintAddressDescription() const {
821822 Printf (" %s" , d.Error ());
822823 Printf (" \n Cause: stack tag-mismatch\n " );
823824 Printf (" %s" , d.Location ());
824- Printf (" Address %p is located in stack of thread T%zd\n " , untagged_addr,
825- sa.thread_id ());
825+ Printf (" Address %p is located in stack of thread T%zd\n " ,
826+ ( void *)untagged_addr, (ssize) sa.thread_id ());
826827 Printf (" %s" , d.Default ());
827828 announce_by_id (sa.thread_id ());
828829 PrintStackAllocations (sa.get (), ptr_tag, untagged_addr);
@@ -842,9 +843,9 @@ void BaseReport::PrintAddressDescription() const {
842843 Printf (" \n Cause: use-after-free\n " );
843844 Printf (" %s" , d.Location ());
844845 Printf (" %p is located %zd bytes inside a %zd-byte region [%p,%p)\n " ,
845- untagged_addr, untagged_addr - UntagAddr (har.tagged_addr ),
846- har.requested_size , UntagAddr (har.tagged_addr ),
847- UntagAddr (har.tagged_addr ) + har.requested_size );
846+ ( void *) untagged_addr, untagged_addr - UntagAddr (har.tagged_addr ),
847+ (ssize) har.requested_size , UntagAddr (har.tagged_addr ),
848+ ( void *)( UntagAddr (har.tagged_addr ) + har.requested_size ) );
848849 Printf (" %s" , d.Allocation ());
849850 Printf (" freed by thread T%u here:\n " , ha.free_thread_id );
850851 Printf (" %s" , d.Default ());
@@ -858,7 +859,7 @@ void BaseReport::PrintAddressDescription() const {
858859 // Print a developer note: the index of this heap object
859860 // in the thread's deallocation ring buffer.
860861 Printf (" hwasan_dev_note_heap_rb_distance: %zd %zd\n " , ha.ring_index + 1 ,
861- flags ()->heap_history_size );
862+ (ssize) flags ()->heap_history_size );
862863 Printf (" hwasan_dev_note_num_matching_addrs: %zd\n " , ha.num_matching_addrs );
863864 Printf (" hwasan_dev_note_num_matching_addrs_4b: %zd\n " ,
864865 ha.num_matching_addrs_4b );
@@ -915,10 +916,11 @@ InvalidFreeReport::~InvalidFreeReport() {
915916 const Thread *thread = GetCurrentThread ();
916917 if (thread) {
917918 Report (" ERROR: %s: %s on address %p at pc %p on thread T%zd\n " ,
918- SanitizerToolName, bug_type, untagged_addr, pc, thread->unique_id ());
919+ SanitizerToolName, bug_type, (void *)untagged_addr, (void *)pc,
920+ (ssize)thread->unique_id ());
919921 } else {
920922 Report (" ERROR: %s: %s on address %p at pc %p on unknown thread\n " ,
921- SanitizerToolName, bug_type, untagged_addr, pc);
923+ SanitizerToolName, bug_type, ( void *) untagged_addr, ( void *) pc);
922924 }
923925 Printf (" %s" , d.Access ());
924926 if (shadow.addr ) {
@@ -967,7 +969,8 @@ TailOverwrittenReport::~TailOverwrittenReport() {
967969 Printf (" %s" , d.Error ());
968970 const char *bug_type = " allocation-tail-overwritten" ;
969971 Report (" ERROR: %s: %s; heap object [%p,%p) of size %zd\n " , SanitizerToolName,
970- bug_type, untagged_addr, untagged_addr + orig_size, orig_size);
972+ bug_type, (void *)untagged_addr, (void *)(untagged_addr + orig_size),
973+ orig_size);
971974 Printf (" \n %s" , d.Default ());
972975 Printf (
973976 " Stack of invalid access unknown. Issue detected at deallocation "
@@ -1037,7 +1040,7 @@ TagMismatchReport::~TagMismatchReport() {
10371040 uptr pc = GetTopPc (stack);
10381041 Printf (" %s" , d.Error ());
10391042 Report (" ERROR: %s: %s on address %p at pc %p\n " , SanitizerToolName, bug_type,
1040- untagged_addr, pc);
1043+ ( void *) untagged_addr, ( void *) pc);
10411044
10421045 Thread *t = GetCurrentThread ();
10431046
@@ -1049,12 +1052,12 @@ TagMismatchReport::~TagMismatchReport() {
10491052 GetShortTagCopy (MemToShadow (untagged_addr + mismatch_offset));
10501053 Printf (
10511054 " %s of size %zu at %p tags: %02x/%02x(%02x) (ptr/mem) in thread T%zd\n " ,
1052- is_store ? " WRITE" : " READ" , access_size, untagged_addr, ptr_tag ,
1053- mem_tag, short_tag, t->unique_id ());
1055+ is_store ? " WRITE" : " READ" , access_size, ( void *)untagged_addr ,
1056+ ptr_tag, mem_tag, short_tag, (ssize) t->unique_id ());
10541057 } else {
10551058 Printf (" %s of size %zu at %p tags: %02x/%02x (ptr/mem) in thread T%zd\n " ,
1056- is_store ? " WRITE" : " READ" , access_size, untagged_addr, ptr_tag ,
1057- mem_tag, t->unique_id ());
1059+ is_store ? " WRITE" : " READ" , access_size, ( void *)untagged_addr ,
1060+ ptr_tag, mem_tag, (ssize) t->unique_id ());
10581061 }
10591062 if (mismatch_offset)
10601063 Printf (" Invalid access starting at offset %zu\n " , mismatch_offset);
@@ -1093,7 +1096,7 @@ void ReportTagMismatch(StackTrace *stack, uptr tagged_addr, uptr access_size,
10931096// See the frame breakdown defined in __hwasan_tag_mismatch (from
10941097// hwasan_tag_mismatch_{aarch64,riscv64}.S).
10951098void ReportRegisters (const uptr *frame, uptr pc) {
1096- Printf (" \n Registers where the failure occurred (pc %p):\n " , pc);
1099+ Printf (" \n Registers where the failure occurred (pc %p):\n " , ( void *) pc);
10971100
10981101 // We explicitly print a single line (4 registers/line) each iteration to
10991102 // reduce the amount of logcat error messages printed. Each Printf() will
0 commit comments