Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 27 Feb 2019 22:25:34 +0000
From:      bugzilla-noreply@freebsd.org
To:        pkg@FreeBSD.org
Subject:   maintainer-feedback requested: [Bug 236093] ports-mgmt/pkg: possible error in function format_rate_SI (src/event.c)
Message-ID:  <bug-236093-32340-MFJjXG8jT1@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-236093-32340@https.bugs.freebsd.org/bugzilla/>
References:  <bug-236093-32340@https.bugs.freebsd.org/bugzilla/>

next in thread | previous in thread | raw e-mail | index | archive | help

Bugzilla Automation <bugzilla@FreeBSD.org> has asked freebsd-pkg mailing list
<pkg@FreeBSD.org> for maintainer-feedback:
Bug 236093: ports-mgmt/pkg: possible error in function format_rate_SI
(src/event.c)
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=236093



--- Description ---
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 " "



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-236093-32340-MFJjXG8jT1>