This is the mail archive of the newlib@sourceware.org mailing list for the newlib project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RE: 64-bit snprintf/vsnprintf overflow condition


INT_MAX is the behavior required by POSIX.  See
http://www.opengroup.org/onlinepubs/9699919799/functions/fprintf.html
under the ERRORS section where EOVERFLOW is described.
Craig

-----Original Message-----
From: newlib-owner@sourceware.org [mailto:newlib-owner@sourceware.org]
On Behalf Of David A. Ramos
Sent: Friday, October 29, 2010 2:04 PM
To: newlib@sourceware.org
Subject: 64-bit snprintf/vsnprintf overflow condition

Hi,

It looks like the overflow condition in vsnprintf/snprintf is
unnecessarily restrictive for 64-bit architectures.

from libc/stdio/snprintf.c:
 52  if (size > INT_MAX)
 53    {
 54      ptr->_errno = EOVERFLOW;
 55      return EOF;
 56    }

I believe it should use SIZE_MAX, rather than INT_MAX.

-David


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]