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

--- Comment #5 from commit-h...@freebsd.org ---
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 <pawel.bierna...@gmail.com>
  Reported by:  Masachika Ishizuka <i...@amail.plala.or.jp>
  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.
_______________________________________________
freebsd-bugs@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-bugs
To unsubscribe, send any mail to "freebsd-bugs-unsubscr...@freebsd.org"

Reply via email to