FIX: "Out of Virtual Memory" Message may be Caused by chdir() (102113)



The information in this article applies to:

  • Microsoft Visual C++ 1.0
  • Microsoft Visual C++ 2.0

This article was previously published under Q102113

SYMPTOMS

When you run an application that calls the chdir() function many times, an "Out of Virtual Memory" error may occur. You may also notice that the page file grows continuously as the application executes.

CAUSE

The chdir() function allocates a small amount of memory each time it is called. When the function successfully completes execution, it does not free the memory and causes a small memory leak. Because no application accesses the memory, it is eventually swapped into the page file. The "Out of Virtual Memory" error occurs when the page file cannot grow any larger.

RESOLUTION

An application developed for the Win32 or Win32s operating systems can avoid the memory leak by using the SetCurrentDirectory() function. SetCurrentDirectory() changes the current directory for the current process.

STATUS

Microsoft has confirmed this to be a bug in the Microsoft products listed at the beginning of this article. This bug was corrected in Visual C++ version 2.1.

Modification Type:MajorLast Reviewed:10/24/2003
Keywords:kbbug kbCRT kbfix KB102113