Re: [Mingw-w64-public] snprintf() vs. _snprintf()

2020-02-22 Thread Dan Raymond
On 2/22/2020 2:54 PM, Martin Storsjö wrote: Yes, one shouldn't use functions outside of that subset, or ideally not link against msvcrt.dll at all. The proper solution to this is to use UCRT instead - this is now possible since a few years. I'm fairly sure that we rely on a number of function

Re: [Mingw-w64-public] snprintf() is broken in mingw-w64

2020-02-22 Thread Liu Hao
在 2020/2/23 6:06, Martin Storsjö 写道: > On Thu, 20 Feb 2020, Pali Rohár wrote: > > While they are "wrong" in that sense, this now means that there is no > symbol "snprintf" defined at all, which does break compilation of a > number of projects. (That primarily happens within configure scripts of >

Re: [Mingw-w64-public] snprintf() is broken in mingw-w64

2020-02-22 Thread Liu Hao
在 2020/2/23 6:06, Martin Storsjö 写道: > On Thu, 20 Feb 2020, Pali Rohár wrote: > > While they are "wrong" in that sense, this now means that there is no > symbol "snprintf" defined at all, which does break compilation of a > number of projects. (That primarily happens within configure scripts of >

Re: [Mingw-w64-public] snprintf() is broken in mingw-w64

2020-02-22 Thread Martin Storsjö
On Thu, 20 Feb 2020, Pali Rohár wrote: In patch I also removed vsnprintf == _vsnprintf and snprintf == _snprintf aliases as they wrong, snprintf() is not same as msvcrt's _snprintf() function, and above __ms_snprintf() or __ms_vsnprintf() wrapper is needed. While they are "wrong" in that sense

Re: [Mingw-w64-public] snprintf() vs. _snprintf()

2020-02-22 Thread Martin Storsjö
On Sat, 22 Feb 2020, Dan Raymond wrote: The latter change raises a new issue because _vscprintf is not present in the VC6 C-runtime library.  The VC6 APIs are the only ones in msvcrt.dll that we can rely on according to these blogs: https://devblogs.microsoft.com/oldnewthing/20140411-00/?p=12

Re: [Mingw-w64-public] snprintf() vs. _snprintf()

2020-02-22 Thread Martin Mitáš
Dne 22. 2. 2020 v 19:22 Dan Raymond napsal(a): > I don't think there is any doubt that something needs to be done to fix this.  > +1 Although I hope that any solution would still allow apps to explicly choose the MSVCRTL.DLL if the app knows what it does. It may be written with that runtime in

[Mingw-w64-public] snprintf() vs. _snprintf()

2020-02-22 Thread Dan Raymond
Pali Rohár recently raised an issue regarding snprintf() and he pointed out a valid concern.  The MinGW toolchain has been silently redirecting snprintf() to the MSFT-specific non-conforming _snprintf().  This creates a substantial security risk for any application compiled using MinGW.  When a

Re: [Mingw-w64-public] snprintf() is broken in mingw-w64

2020-02-22 Thread Liu Hao
在 2020/2/22 18:34, Pali Rohár 写道: > On Friday 21 February 2020 17:22:13 Pali Rohár wrote: > > Hello! raymod2 on IRC pointed that _vscprintf() function used by above > patch is not provided by original VC6 msvcrt.dll library. It was > introduced in VC7 msvcr70.dll, but in may be provided in system32