[ros-diffs] [tkreuzer] 53982: [FREELDR] Fix a bug, when the memory for a file cluster chain record was freed from the heap although it was still in use. Instead free the buffer when the file is closed.
tkreuzer at svn.reactos.org
tkreuzer at svn.reactos.org
Mon Oct 3 22:59:33 UTC 2011
Author: tkreuzer
Date: Mon Oct 3 22:59:33 2011
New Revision: 53982
URL: http://svn.reactos.org/svn/reactos?rev=53982&view=rev
Log:
[FREELDR]
Fix a bug, when the memory for a file cluster chain record was freed from the heap although it was still in use. Instead free the buffer when the file is closed.
Modified:
trunk/reactos/boot/freeldr/freeldr/fs/fat.c
Modified: trunk/reactos/boot/freeldr/freeldr/fs/fat.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/boot/freeldr/freeldr/fs/fat.c?rev=53982&r1=53981&r2=53982&view=diff
==============================================================================
--- trunk/reactos/boot/freeldr/freeldr/fs/fat.c [iso-8859-1] (original)
+++ trunk/reactos/boot/freeldr/freeldr/fs/fat.c [iso-8859-1] Mon Oct 3 22:59:33 2011
@@ -804,8 +804,9 @@
return ENOTDIR;
}
DirectoryStartCluster = FatFileInfo.FileFatChain[0];
- }
- MmHeapFree(FatFileInfo.FileFatChain);
+ MmHeapFree(FatFileInfo.FileFatChain);
+ FatFileInfo.FileFatChain = NULL;
+ }
}
memcpy(FatFileInfoPointer, &FatFileInfo, sizeof(FAT_FILE_INFO));
@@ -1332,6 +1333,7 @@
{
PFAT_FILE_INFO FileHandle = FsGetDeviceSpecific(FileId);
+ if (FileHandle->FileFatChain) MmHeapFree(FileHandle->FileFatChain);
MmHeapFree(FileHandle);
return ESUCCESS;
More information about the Ros-diffs
mailing list