[ros-diffs] [mjmartin] 43102: LogfWriteData: Add missing LeaveCriticalSection before returning from function. Found by Amine Khaldi
mjmartin at svn.reactos.org
mjmartin at svn.reactos.org
Mon Sep 21 14:49:25 CEST 2009
- Previous message: [ros-diffs] [jimtabor] 43101: - Working with Michael Martin to fix the LoadMenu callback bug. MenuName is a variable string buffer and not a pointer. The minimum size is always four bytes. Initialization of the structure, zero out the memory, allowing Intersource check to function as it should. To make it Intersource, use the first word character in the buffer.
- Next message: [ros-diffs] [sginsberg] 43103: Mega compiler intrinsics patch: FreeLdr - Goodbye Ke386EraseFlags & KeAmd64EraseFlags. Welcome __writeeflags. - Respect MSVC when generating clc (clear carry flag) instruction in PcGetTime. - Use portable __wbinvd instead of __asm__ in XboxMemInit. - Replace broken gcc assembly by portable intrinsics in WinLdrpMapApic. - Use portable Ke386SetSs and Ke386SetGs (new) in WinLdrSetProcessorContext. - The far jump in WinLdrSetProcessorContext can not be expressed in masm, so we use a (untested) far return instead. Kernel - Replace Ke386Set/GetInterruptDescriptorTable, Ke386Save/RestoreFlags, Ke386Set/GetDr, Ki386Cpuid, Ke386Rdmsr and Ke386Wrmsr by MSVC alternatives present in intrin.h. - Fixed Ke386Get/SetGlobalDescriptorTable, Ke386GetLocalDescriptorTable and Ke386GetTr -- the intrinsics were completely broken for MSVC and generated bogus code. Moreover, Ke386Set/GetInterruptDescriptorTable and Ke386Rdmsr were also affected. This lets us (in addition to having a bootable, working msvc compiled kernel) get rid of several hacky variable zero-initializations that hid this bug -- the way MSVC interpreted the inlined assembly resulted in uninitialized variable usage. - Implement Ke386SetGs and add missing Ke386SetGs for gcc. - KdPollBreakIn: Use portable KeDisableInterrupts instead of x86 intrinsics and flags.
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Author: mjmartin
Date: Mon Sep 21 14:49:25 2009
New Revision: 43102
URL: http://svn.reactos.org/svn/reactos?rev=43102&view=rev
Log:
LogfWriteData: Add missing LeaveCriticalSection before returning from function. Found by Amine Khaldi
Modified:
trunk/reactos/base/services/eventlog/file.c
Modified: trunk/reactos/base/services/eventlog/file.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/base/services/eventlog/file.c?rev=43102&r1=43101&r2=43102&view=diff
==============================================================================
--- trunk/reactos/base/services/eventlog/file.c [iso-8859-1] (original)
+++ trunk/reactos/base/services/eventlog/file.c [iso-8859-1] Mon Sep 21 14:49:25 2009
@@ -704,6 +704,7 @@
if (!GetFileSizeEx(LogFile->hFile, &logFileSize))
{
+ LeaveCriticalSection(&LogFile->cs);
return FALSE;
}
@@ -751,6 +752,7 @@
if (RecBuf->Reserved != LOGFILE_SIGNATURE)
{
DPRINT1("LogFile corrupt!\n");
+ LeaveCriticalSection(&LogFile->cs);
return FALSE;
}
- Previous message: [ros-diffs] [jimtabor] 43101: - Working with Michael Martin to fix the LoadMenu callback bug. MenuName is a variable string buffer and not a pointer. The minimum size is always four bytes. Initialization of the structure, zero out the memory, allowing Intersource check to function as it should. To make it Intersource, use the first word character in the buffer.
- Next message: [ros-diffs] [sginsberg] 43103: Mega compiler intrinsics patch: FreeLdr - Goodbye Ke386EraseFlags & KeAmd64EraseFlags. Welcome __writeeflags. - Respect MSVC when generating clc (clear carry flag) instruction in PcGetTime. - Use portable __wbinvd instead of __asm__ in XboxMemInit. - Replace broken gcc assembly by portable intrinsics in WinLdrpMapApic. - Use portable Ke386SetSs and Ke386SetGs (new) in WinLdrSetProcessorContext. - The far jump in WinLdrSetProcessorContext can not be expressed in masm, so we use a (untested) far return instead. Kernel - Replace Ke386Set/GetInterruptDescriptorTable, Ke386Save/RestoreFlags, Ke386Set/GetDr, Ki386Cpuid, Ke386Rdmsr and Ke386Wrmsr by MSVC alternatives present in intrin.h. - Fixed Ke386Get/SetGlobalDescriptorTable, Ke386GetLocalDescriptorTable and Ke386GetTr -- the intrinsics were completely broken for MSVC and generated bogus code. Moreover, Ke386Set/GetInterruptDescriptorTable and Ke386Rdmsr were also affected. This lets us (in addition to having a bootable, working msvc compiled kernel) get rid of several hacky variable zero-initializations that hid this bug -- the way MSVC interpreted the inlined assembly resulted in uninitialized variable usage. - Implement Ke386SetGs and add missing Ke386SetGs for gcc. - KdPollBreakIn: Use portable KeDisableInterrupts instead of x86 intrinsics and flags.
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the Ros-diffs
mailing list