Dec. 26, 2001
12:09 a.m.
On Tue, Dec 25, 2001 at 01:38:26PM -0800, Francois Gouget wrote: > On Fri, 21 Dec 2001, Michael Stefaniuc wrote: > > > On Fri, Dec 21, 2001 at 01:52:12PM -0800, Medland, Bill wrote: > > > Bill Medland (medbi01(a)accpac.com) > > > Don't ask me why but on my setup vsnprintf returned a value greater than > > This is the new and correct behavior according to the C99 standard. All > > snprintf function should return in error case the number of characters > > that would have been written to the buffer if the size of buffer would > > have been big enough. > > This change while usefull will brake a lot of things. IMO the glibc is > > still using the old behavior. I was wrong, it's using the C99 behaviour (at least on Red Hat Linux 7.x) > By the way did someone do a systematic check for this problem? > Might be worth it... I did a short check with camus:~/work/wine$ grep -r -I -C snprintf ./ | less and this is what I found: - most of the time the return value of *snprintf isn't checked - if the return value is checked it's mostly checked for C89 and C99 style - the attached patch should fix all the remaining cases. Changelog: Michael Stefaniuc <mstefani(a)redhat.com> check the return value of *snprintf for C99 style bye michael -- Michael Stefaniuc Tel.: +49-711-96437-199 System Administration Fax.: +49-711-96437-111 Red Hat GmbH Email: mstefani(a)redhat.de Hauptstaetterstr. 58 http://www.redhat.de/ D-70178 Stuttgart