title: Run-Time Check Failure #2 - Stack around the variable 'x' was corrupted
body: <p>I receive this Run-Time Check Failure upon the return in the following code. I believe similar code is running fine elsewhere in the program. Any ideas?</p>
  
  <pre><code>String GetVariableName(CString symbol, CString filepath)
  {
      char acLine[512];
      char acPreviousLine[512];
      CString csFile;
      FILE *fp;   
  
      csFile.Format("%svariables.txt", filepath);
  
      fp = fopen(csFile, "r");
  
      if (! fp)
          return("");
  
      for (;;)
      {
          strcpy(acPreviousLine, acLine);
  
          // NULL means we are out of lines in the file.
          if (myfgets(acLine, 511, fp) == NULL)
              break;
  
          // "END" indicates end of file
          if (! strcmp(acLine, "END"))
              break;
  
          if (! strcmp(acLine, csVarSymbol))
          {
              // Previous line should be variable name
              fclose(fp);
  
              // Following line results in Check Failure while in Debug mode
              return(acPreviousLine);
          }
      }   
      fclose(fp);
      return("");
  }
  </code></pre>