Bruce Evans <[EMAIL PROTECTED]> writes: > The correct fix is to unbreak getbsize() so that it takes an `int *' as its > first arg like it used to. The interface change and the above change > just give a header length that is not directly usably by any of its users. > The header length is what must be passed to printf in %*s formats; it > should have type int since that is what printf takes; any bounds checking > of it belongs in getbsize() (but in practice it is a small positive > number since anything else would give preposterous formatting, so there > is never a problem with its bounds). Other users of getbsize() in the > src tree but perhaps not ones in ports have been broken to match the > interface breakage. The usual breakage is to cast the size_t to int > without checking bounds.
Agreed. Not a single consumer actually wants a size_t and not all base system uses have been "fixed" for the new interface (ls(1) for instance). I'd like to see the interface restored and merged into RELENG_5_0 before we introduce this mistake on the world. Best regards, Mike Barcroft To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message
