win32k: Add tags when allocating memory

ntoskrnl: Relax checks when freeing a string

svn path=/trunk/; revision=35769
This commit is contained in:
Hervé Poussineau 2008-08-29 21:19:41 +00:00
parent f10a1a9c4d
commit c1f3e0fa1c
5 changed files with 15 additions and 10 deletions

View file

@ -74,13 +74,18 @@ RtlpAllocateMemory(ULONG Bytes,
}
#define TAG_USTR TAG('U', 'S', 'T', 'R')
#define TAG_ASTR TAG('A', 'S', 'T', 'R')
#define TAG_OSTR TAG('O', 'S', 'T', 'R')
VOID
STDCALL
RtlpFreeMemory(PVOID Mem,
ULONG Tag)
{
ExFreePoolWithTag(Mem,
Tag);
if (Tag == TAG_ASTR || Tag == TAG_OSTR || Tag == TAG_USTR)
ExFreePool(Mem);
else
ExFreePoolWithTag(Mem, Tag);
}
/*

View file

@ -325,7 +325,7 @@ IntCreateBitmap(IN SIZEL Size,
SurfObj->lDelta = DIB_GetDIBWidthBytes(Size.cx, BitsPerFormat(BMF_8BPP));
SurfObj->cjBits = SurfObj->lDelta * Size.cy;
UncompressedFormat = BMF_8BPP;
UncompressedBits = EngAllocMem(FL_ZERO_MEMORY, SurfObj->cjBits, 0);
UncompressedBits = EngAllocMem(FL_ZERO_MEMORY, SurfObj->cjBits, TAG_DIB);
Decompress8bpp(Size, (BYTE *)Bits, (BYTE *)UncompressedBits, SurfObj->lDelta);
}
else
@ -356,7 +356,7 @@ IntCreateBitmap(IN SIZEL Size,
{
SurfObj->pvBits = EngAllocMem(0 != (Flags & BMF_NOZEROINIT) ?
0 : FL_ZERO_MEMORY,
SurfObj->cjBits, 0);
SurfObj->cjBits, TAG_DIB);
}
if (SurfObj->pvBits == NULL)
{

View file

@ -243,7 +243,7 @@ IntEngCreateXlate(USHORT DestPalType, USHORT SourcePalType,
{
XlateObj->cEntries = SourcePalGDI->NumColors;
XlateObj->pulXlate =
EngAllocMem(0, sizeof(ULONG) * XlateObj->cEntries, 0);
EngAllocMem(0, sizeof(ULONG) * XlateObj->cEntries, TAG_XLATEOBJ);
XlateObj->flXlate |= XO_TRIVIAL;
for (i = 0; i < XlateObj->cEntries; i++)
@ -264,7 +264,7 @@ IntEngCreateXlate(USHORT DestPalType, USHORT SourcePalType,
{
XlateObj->cEntries = SourcePalGDI->NumColors;
XlateObj->pulXlate =
EngAllocMem(0, sizeof(ULONG) * XlateObj->cEntries, 0);
EngAllocMem(0, sizeof(ULONG) * XlateObj->cEntries, TAG_XLATEOBJ);
for (i = 0; i < XlateObj->cEntries; i++)
XlateObj->pulXlate[i] =
ShiftAndMask(XlateGDI, *((ULONG *)&SourcePalGDI->IndexedColors[i]));
@ -379,7 +379,7 @@ IntEngCreateSrcMonoXlate(HPALETTE PaletteDest,
XlateObj = GDIToObj(XlateGDI, XLATE);
XlateObj->cEntries = 2;
XlateObj->pulXlate = EngAllocMem(0, sizeof(ULONG) * XlateObj->cEntries, 0);
XlateObj->pulXlate = EngAllocMem(0, sizeof(ULONG) * XlateObj->cEntries, TAG_XLATEOBJ);
if (XlateObj->pulXlate == NULL)
{
PALETTE_UnlockPalette(DestPalGDI);

View file

@ -317,7 +317,7 @@ IntSetupCurIconHandles(PWINSTATION_OBJECT WinSta)
NULL,
0,
sizeof(CURICON_PROCESS),
0,
TAG_DIB,
128);
InitializeListHead(&gCurIconList);

View file

@ -155,14 +155,14 @@ MsqInitializeImpl(VOID)
NULL,
0,
sizeof(USER_MESSAGE),
0,
TAG_USRMSG,
256);
ExInitializePagedLookasideList(&TimerLookasideList,
NULL,
NULL,
0,
sizeof(TIMER_ENTRY),
0,
TAG_TIMER,
64);
return(STATUS_SUCCESS);