Jacek, could you backport this patch to v5.x? It applies cleanly with `git cherry-pick 6ec4fb2d8c1b1abfd5aca69c382c24feb6961342`.
Thank you. Tamir On Mon, May 9, 2016 at 11:50 AM, Tamir Duberstein <[email protected]> wrote: > Looks like my attachment did not come come through? > > Here it is as a gist: > https://gist.githubusercontent.com/tamird/75365627ac99e5714133444d3625e8fc/raw/4a703a8599e813a1058916f1977d794040ea0ed4/secure_overloads.patch > > On Thu, May 5, 2016 at 10:14 AM, Tamir Duberstein <[email protected]> wrote: >> >> Hi Jacek, apologies for the delay (I didn't receive your reply). >> >> I've attached the patch as an attachment. >> >> On Mon, Apr 25, 2016 at 4:40 PM, Tamir Duberstein <[email protected]> >> wrote: >>> >>> See https://msdn.microsoft.com/en-us/library/5dae5d43.aspx >>> >>> Fixes https://sourceforge.net/p/mingw-w64/bugs/535. >>> >>> --- >>> >>> diff --git mingw-w64-headers/crt/sec_api/string_s.h >>> mingw-w64-headers/crt/sec_api/string_s.h >>> index 7d36d91..114cfd7 100644 >>> --- mingw-w64-headers/crt/sec_api/string_s.h >>> +++ mingw-w64-headers/crt/sec_api/string_s.h >>> @@ -27,8 +27,10 @@ extern "C" { >>> _CRTIMP errno_t __cdecl _strncat_s_l(char *_Dst,size_t >>> _DstSizeInChars,const char *_Src,size_t _MaxCount,_locale_t _Locale); >>> _CRTIMP errno_t __cdecl strcpy_s(char *_Dst, rsize_t _SizeInBytes, >>> const char *_Src); >>> __DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_1(errno_t, strcpy_s, char, _Dest, >>> const char *, _Source) >>> - _CRTIMP errno_t __cdecl strncpy_s(char *_Dst,size_t >>> _DstSizeInChars,const char *_Src,size_t _MaxCount); >>> - _CRTIMP errno_t __cdecl _strncpy_s_l(char *_Dst,size_t >>> _DstSizeInChars,const char *_Src,size_t _MaxCount,_locale_t _Locale); >>> + _CRTIMP errno_t __cdecl strncpy_s(char *_Dst, size_t _DstSizeInChars, >>> const char *_Src, size_t _MaxCount); >>> + __DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_2(errno_t, strncpy_s, char, _Dest, >>> const char *, _Source, size_t, _MaxCount) >>> + _CRTIMP errno_t __cdecl _strncpy_s_l(char *_Dst, size_t >>> _DstSizeInChars, const char *_Src, size_t _MaxCount, _locale_t _Locale); >>> + __DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_3(errno_t, _strncpy_s_l, char, >>> _Dest, const char *, _Source, size_t, _MaxCount, _locale_t, _Locale); >>> _CRTIMP char *__cdecl strtok_s(char *_Str,const char *_Delim,char >>> **_Context); >>> _CRTIMP char *__cdecl _strtok_s_l(char *_Str,const char *_Delim,char >>> **_Context,_locale_t _Locale); >>> _CRTIMP errno_t __cdecl strcat_s(char *_Dst, rsize_t _SizeInBytes, >>> const char * _Src); >>> @@ -54,8 +56,10 @@ extern "C" { >>> >>> _CRTIMP errno_t __cdecl wcsncat_s(wchar_t *_Dst,size_t >>> _DstSizeInChars,const wchar_t *_Src,size_t _MaxCount); >>> _CRTIMP errno_t __cdecl _wcsncat_s_l(wchar_t *_Dst,size_t >>> _DstSizeInChars,const wchar_t *_Src,size_t _MaxCount,_locale_t _Locale); >>> - _CRTIMP errno_t __cdecl wcsncpy_s(wchar_t *_Dst,size_t >>> _DstSizeInChars,const wchar_t *_Src,size_t _MaxCount); >>> - _CRTIMP errno_t __cdecl _wcsncpy_s_l(wchar_t *_Dst,size_t >>> _DstSizeInChars,const wchar_t *_Src,size_t _MaxCount,_locale_t _Locale); >>> + _CRTIMP errno_t __cdecl wcsncpy_s(wchar_t *_Dst, size_t >>> _DstSizeInChars, const wchar_t *_Src, size_t _MaxCount); >>> + __DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_2(errno_t, wcsncpy_s, wchar_t, >>> _Dest, const wchar_t *, _Source, size_t, _MaxCount); >>> + _CRTIMP errno_t __cdecl _wcsncpy_s_l(wchar_t *_Dst, size_t >>> _DstSizeInChars, const wchar_t *_Src, size_t _MaxCount, _locale_t _Locale); >>> + __DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_3(errno_t, _wcsncpy_s_l, wchar_t, >>> _Dest, const wchar_t *, _Source, size_t, _MaxCount, _locale_t, _Locale); >>> _CRTIMP wchar_t *__cdecl _wcstok_s_l(wchar_t *_Str,const wchar_t >>> *_Delim,wchar_t **_Context,_locale_t _Locale); >>> _CRTIMP errno_t __cdecl _wcsset_s_l(wchar_t *_Str,size_t >>> _SizeInChars,unsigned int _Val,_locale_t _Locale); >>> _CRTIMP errno_t __cdecl _wcsnset_s_l(wchar_t *_Str,size_t >>> _SizeInChars,unsigned int _Val, size_t _Count,_locale_t _Locale); >>> >> > ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ Mingw-w64-public mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
