https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=224498

--- Comment #5 from [email protected] ---
A commit references this bug:

Author: robak
Date: Thu Dec 28 22:57:35 UTC 2017
New revision: 327317
URL: https://svnweb.freebsd.org/changeset/base/327317

Log:
  humanize_number(3): fix math edge case in rounding large numbers

  Fix for remainder overflow, when in rare cases adding remainder to divider
  exceeded 1 and turned the total to 1000 in final formatting, taking up
  the space for the unit character.

  The fix continues the division of the original number if the above case
  happens -- added the appropriate check to the for loop performing
  the division. This lowers the value shown, to make it fit into the buffer
  space provided (1.0M for 4+1 character buffer, as used by ls).

  Add test case for the reported bug and extend test program to support
  providing buffer length (ls -lh uses 5, tests hard-coded 4).

  PR:           224498
  Submitted by: Pawel Biernacki <[email protected]>
  Reported by:  Masachika Ishizuka <[email protected]>
  Reviewed by:  cem, kib
  Approved by:  cem, kib
  MFC after:    1 week
  Sponsored by: Mysterious Code Ltd.
  Differential Revision:        D13578

Changes:
  head/lib/libutil/humanize_number.3
  head/lib/libutil/humanize_number.c
  head/lib/libutil/tests/humanize_number_test.c

-- 
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-bugs
To unsubscribe, send any mail to "[email protected]"

Reply via email to