在MinGW64下使用fopen64进行攻击会导致进程崩溃

时间:2016-06-13 05:10:57

标签: python fopen windows-7-x64 python-c-extension mingw-w64

我正在从x86构建我的x64 python c库扩展。

由于fread的错误fopen64,我发现APPCRASH文件指针由ntdll.dll打开,导致python进程失效。它不会在x86构建下发生,如果文件指针由fopen打开,也不会发生。

首先,我认为这是因为提到here的Windows bug。但它没有解决它。

有什么好的做法可以避免这个问题吗?我正在考虑使用make定义选择女巫文件打开功能,以便它可以在x64和x86下工作,但我没有任何奇妙的想法。

我的环境

  • Windows 7 x64
  • Python 2.7.10 x64
  • Numpy 1.11.0
  • MinGW64

1 个答案:

答案 0 :(得分:0)

目前,我正在使用以下代码。

#if defined(_WIN64)
#define _fopen fopen
#else
#define _fopen fopen64
#endif