@@ -390,31 +390,31 @@ void LeakReport::PrintLargest(uptr max_leaks) {
390
390
" reported.\n " ,
391
391
kMaxLeaksConsidered );
392
392
if (max_leaks > 0 && max_leaks < leaks_.size ())
393
- Printf (" The %llu largest leak%s :\n " , max_leaks, max_leaks > 1 ? " s " : " " );
393
+ Printf (" The %llu largest leak(s) :\n " , max_leaks);
394
394
InternalSort (&leaks_, leaks_.size (), IsLarger);
395
395
max_leaks = max_leaks > 0 ? Min (max_leaks, leaks_.size ()) : leaks_.size ();
396
396
for (uptr i = 0 ; i < max_leaks; i++) {
397
- Printf (" %s leak of %llu bytes in %llu object%s allocated from:\n " ,
397
+ Printf (" %s leak of %llu byte(s) in %llu object(s) allocated from:\n " ,
398
398
leaks_[i].is_directly_leaked ? " Direct" : " Indirect" ,
399
- leaks_[i].total_size , leaks_[i].hit_count ,
400
- leaks_[i].hit_count == 1 ? " " : " s" );
399
+ leaks_[i].total_size , leaks_[i].hit_count );
401
400
PrintStackTraceById (leaks_[i].stack_trace_id );
402
401
Printf (" \n " );
403
402
}
404
403
if (max_leaks < leaks_.size ()) {
405
404
uptr remaining = leaks_.size () - max_leaks;
406
- Printf (" Omitting %llu more leak%s.\n " , remaining,
407
- remaining > 1 ? " s" : " " );
405
+ Printf (" Omitting %llu more leak(s).\n " , remaining);
408
406
}
409
407
}
410
408
411
409
void LeakReport::PrintSummary () {
412
410
CHECK (leaks_.size () <= kMaxLeaksConsidered );
413
- uptr bytes_leaked = 0 ;
411
+ uptr bytes = 0 , allocations = 0 ;
414
412
for (uptr i = 0 ; i < leaks_.size (); i++) {
415
- bytes_leaked += leaks_[i].total_size ;
413
+ bytes += leaks_[i].total_size ;
414
+ allocations += leaks_[i].hit_count ;
416
415
}
417
- Printf (" SUMMARY: LeakSanitizer: %llu bytes leaked.\n " , bytes_leaked);
416
+ Printf (" SUMMARY: LeakSanitizer: %llu byte(s) leaked in %llu allocation(s).\n " ,
417
+ bytes, allocations);
418
418
}
419
419
} // namespace __lsan
420
420
#endif // CAN_SANITIZE_LEAKS
0 commit comments