FIX:在 DllMain 中使用 GETENV 调用时内存泄漏

文章翻译 文章翻译
文章编号: 815315 - 查看本文应用于的产品
展开全部 | 关闭全部

症状

C 运行时库具有可跟踪线程特定的状态数据的数据结构。当在 DllMain 中使用某些特定的 C 运行时库函数(例如 getenv)时,可能会为这些线程特定的数据结构分配两次内存。此问题可能引起内存泄漏。

解决方案

Microsoft 提供了受支持的修复程序,但此修复程序仅用于解决本文中介绍的问题。只有系统遇到本文提到的特定问题时才可应用此修复程序。此修复程序可能还将接受更多测试以进一步保证产品质量。因此,如果这个问题没有对您造成严重的影响,Microsoft 建议您等待包含此修复程序的下一个 Windows 2000 Service Pack。

要立即解决此问题,请与“Microsoft 产品支持服务”联系,以获取此修复程序。有关“Microsoft 产品支持服务”电话号码和支持费用信息的完整列表,请访问下面的 Microsoft Web 站点:
http://support.microsoft.com/default.aspx?scid=fh;EN-US;CNTACTMS
注意:特殊情况下,如果 Microsoft 专业支持人员确定某个特定的更新程序能够解决您的问题,可免收通常情况下收取的电话支持服务费用。对于特定的更新程序无法解决的其他支持问题和事项,将正常收取支持费用。 此修复程序的英语版具有下表中列出的文件属性(或更新的属性)。这些文件的日期和时间按协调通用时间 (UTC) 列出。查看文件信息时,它将转换为当地时间。要了解 UTC 与当地时间之间的时差,请使用“控制面板”中“日期和时间”工具中的“时区”选项卡。
   日期         时间   版本        大小    文件名
   ---------------------------------------------------
21-Mar-2003  14:50  6.1.9844.0  286,773  Msvcrt.dll

状态

Microsoft 已经确认这是在本文开头列出的 Microsoft 产品中存在的问题。

属性

文章编号: 815315 - 最后修改: 2006年4月6日 - 修订: 1.1
这篇文章中的信息适用于:
  • Microsoft Visual C++ 6.0 Service Pack 5?当用于
    • Microsoft Windows 2000 Service Pack 3
关键字:?
kbbug kbfix kbqfe kbhotfixserver KB815315
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。

提供反馈

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com