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

Reply via email to