In article <19990.1566969...@splode.eterna.com.au>,
matthew green  <m...@eterna.com.au> wrote:
>>      src/sys/kern: vfs_bio.c
>>      src/sys/sys: buf.h
>> 
>> Log Message:
>>  Change buf_nbuf()'s return value from int to u_int to avoid undefined
>> behavior in wapbl_start() which extended int to size_t.
>> 
>> Error message was:
>> > UBSan: Undefined Behavior in ../../../../kern/vfs_wapbl.c:609:41,
>signed integer overflow: 3345138 * 1024 cannot be represented in type
>'int'
>> 
>> >        /* XXX maybe use filesystem fragment size instead of 1024 */
>> >         /* XXX fix actual number of buffers reserved per filesystem. */
>> >         wl->wl_bufcount_max = (buf_nbuf() / 2) * 1024;
>> 
>> Need more work?
>
>i would have made buf_nbuf() return size_t.

Or u_int which is what nbuf is...

christos

Reply via email to