In tfc.c, one finds thrice this call to
j*ATL_sizeof seems to be a signed 32-bit quantity, but
malloc expects a size_t type which is 64-bit long on 64-bit systems. So it is extended to 64 bits and when it exceeds 2 GB this extension becomes a big negative number that causes
malloc to fail. Casting both operands to
(unsigned long) seems to solve the issue.
Log in to post a comment.