Incorrect _Kmax value
Corinna Vinschen
vinschen@redhat.com
Thu Feb 10 18:58:00 GMT 2011
On Feb 10 19:04, Aleksandr Platonov wrote:
> Hi,
> _Kmax is defined as (sizeof (size_t) << 3) and means the maximum index
> value of _REENT->_freelist array.
> If the size of size_t is equal to 4 then Balloc(prt, _Kmax - 1) call
> sets _maxwds to negative value. Balloc(ptr, _Kmax) call allocates memory
> for sizeof (_Bigint) - sizeof(rv->_x) bytes and sets _maxwds to 0.
When, where and why should this happen?
The definitions and the code in question is BSD code which is used,
for instance, in NetBSD as well. The definition of _Kmax is the
same, too.
> So, it seems that _Kmax value is too big and should be (sizeof (size_t)
> << 3) - 2 or less.
Please provide a simple testcase which allows to reproduce the
problem.
Thanks,
Corinna
--
Corinna Vinschen
Cygwin Project Co-Leader
Red Hat
More information about the Newlib
mailing list