[Bug 236093] ports-mgmt/pkg: possible error in function format_rate_SI (src/event.c)
bugzilla-noreply at freebsd.org
bugzilla-noreply at freebsd.org
Wed Feb 27 22:25:37 UTC 2019
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=236093
Bug ID: 236093
Summary: ports-mgmt/pkg: possible error in function
format_rate_SI (src/event.c)
Product: Ports & Packages
Version: Latest
Hardware: Any
OS: Any
Status: New
Severity: Affects Only Me
Priority: ---
Component: Individual Port(s)
Assignee: pkg at FreeBSD.org
Reporter: samy.mahmoudi at gmail.com
Assignee: pkg at FreeBSD.org
Flags: maintainer-feedback?(pkg at FreeBSD.org)
src/event.c:
87 /* units for format_size */
88 static const char *unit_SI[] = { " ", "k", "M", "G", "T", };
109 static void
110 format_rate_SI(char *buf, int size, off_t bytes)
111 {
112 int i;
113
114 bytes *= 100;
115 for (i = 0; bytes >= 100*1000 && unit_SI[i][0] != 'T'; i++)
116 bytes = (bytes + 500) / 1000;
117 if (i == 0) {
118 i++;
119 bytes = (bytes + 500) / 1000;
120 }
121 snprintf(buf, size, "%3lld.%1lld%s%s",
122 (long long) (bytes + 5) / 100,
123 (long long) (bytes + 5) / 10 % 10,
124 unit_SI[i],
125 i ? "B" : " ");
126 }
Unless I am mistaken, i can not be zero at lines 124-125. As a consequence:
• the first element of unit_SI is never used
• in the call to snprintf, the last argument is always "B", never " "
--
You are receiving this mail because:
You are the assignee for the bug.
More information about the freebsd-pkg
mailing list