https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66310
Thomas Koenig <tkoenig at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|ASSIGNED |RESOLVED CC| |tkoenig at gcc dot gnu.org Resolution|--- |FIXED --- Comment #25 from Thomas Koenig <tkoenig at gcc dot gnu.org> --- (In reply to Jerry DeLisle from comment #24) > (In reply to Jerry DeLisle from comment #23) > > Ok I see it. > > > > In fbuf.c (fbuf_alloc): > > > > /* Round up to nearest multiple of the current buffer length. */ > > newlen = ((u->fbuf->pos + len) / u->fbuf->len + 1) *u->fbuf->len; > > u->fbuf->buf = xrealloc (u->fbuf->buf, newlen); > > u->fbuf->len = newlen; > > > > We are rounding up to make sure we have enough buffer. The size newlen is > > calculated to 2147484160 which exceeds the limit of 2147483647 and xrealloc > > fails. > > There is a 2 GB limit on 32 bit processes, so this is not a bug. I suggest > this be closed. I concur. Closing accordingly.