mirror of
https://github.com/reactos/reactos.git
synced 2025-05-19 00:54:18 +00:00
win32k: Add tags when allocating memory
ntoskrnl: Relax checks when freeing a string svn path=/trunk/; revision=35769
This commit is contained in:
parent
f10a1a9c4d
commit
c1f3e0fa1c
5 changed files with 15 additions and 10 deletions
|
@ -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
|
VOID
|
||||||
STDCALL
|
STDCALL
|
||||||
RtlpFreeMemory(PVOID Mem,
|
RtlpFreeMemory(PVOID Mem,
|
||||||
ULONG Tag)
|
ULONG Tag)
|
||||||
{
|
{
|
||||||
ExFreePoolWithTag(Mem,
|
if (Tag == TAG_ASTR || Tag == TAG_OSTR || Tag == TAG_USTR)
|
||||||
Tag);
|
ExFreePool(Mem);
|
||||||
|
else
|
||||||
|
ExFreePoolWithTag(Mem, Tag);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -325,7 +325,7 @@ IntCreateBitmap(IN SIZEL Size,
|
||||||
SurfObj->lDelta = DIB_GetDIBWidthBytes(Size.cx, BitsPerFormat(BMF_8BPP));
|
SurfObj->lDelta = DIB_GetDIBWidthBytes(Size.cx, BitsPerFormat(BMF_8BPP));
|
||||||
SurfObj->cjBits = SurfObj->lDelta * Size.cy;
|
SurfObj->cjBits = SurfObj->lDelta * Size.cy;
|
||||||
UncompressedFormat = BMF_8BPP;
|
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);
|
Decompress8bpp(Size, (BYTE *)Bits, (BYTE *)UncompressedBits, SurfObj->lDelta);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -356,7 +356,7 @@ IntCreateBitmap(IN SIZEL Size,
|
||||||
{
|
{
|
||||||
SurfObj->pvBits = EngAllocMem(0 != (Flags & BMF_NOZEROINIT) ?
|
SurfObj->pvBits = EngAllocMem(0 != (Flags & BMF_NOZEROINIT) ?
|
||||||
0 : FL_ZERO_MEMORY,
|
0 : FL_ZERO_MEMORY,
|
||||||
SurfObj->cjBits, 0);
|
SurfObj->cjBits, TAG_DIB);
|
||||||
}
|
}
|
||||||
if (SurfObj->pvBits == NULL)
|
if (SurfObj->pvBits == NULL)
|
||||||
{
|
{
|
||||||
|
|
|
@ -243,7 +243,7 @@ IntEngCreateXlate(USHORT DestPalType, USHORT SourcePalType,
|
||||||
{
|
{
|
||||||
XlateObj->cEntries = SourcePalGDI->NumColors;
|
XlateObj->cEntries = SourcePalGDI->NumColors;
|
||||||
XlateObj->pulXlate =
|
XlateObj->pulXlate =
|
||||||
EngAllocMem(0, sizeof(ULONG) * XlateObj->cEntries, 0);
|
EngAllocMem(0, sizeof(ULONG) * XlateObj->cEntries, TAG_XLATEOBJ);
|
||||||
|
|
||||||
XlateObj->flXlate |= XO_TRIVIAL;
|
XlateObj->flXlate |= XO_TRIVIAL;
|
||||||
for (i = 0; i < XlateObj->cEntries; i++)
|
for (i = 0; i < XlateObj->cEntries; i++)
|
||||||
|
@ -264,7 +264,7 @@ IntEngCreateXlate(USHORT DestPalType, USHORT SourcePalType,
|
||||||
{
|
{
|
||||||
XlateObj->cEntries = SourcePalGDI->NumColors;
|
XlateObj->cEntries = SourcePalGDI->NumColors;
|
||||||
XlateObj->pulXlate =
|
XlateObj->pulXlate =
|
||||||
EngAllocMem(0, sizeof(ULONG) * XlateObj->cEntries, 0);
|
EngAllocMem(0, sizeof(ULONG) * XlateObj->cEntries, TAG_XLATEOBJ);
|
||||||
for (i = 0; i < XlateObj->cEntries; i++)
|
for (i = 0; i < XlateObj->cEntries; i++)
|
||||||
XlateObj->pulXlate[i] =
|
XlateObj->pulXlate[i] =
|
||||||
ShiftAndMask(XlateGDI, *((ULONG *)&SourcePalGDI->IndexedColors[i]));
|
ShiftAndMask(XlateGDI, *((ULONG *)&SourcePalGDI->IndexedColors[i]));
|
||||||
|
@ -379,7 +379,7 @@ IntEngCreateSrcMonoXlate(HPALETTE PaletteDest,
|
||||||
XlateObj = GDIToObj(XlateGDI, XLATE);
|
XlateObj = GDIToObj(XlateGDI, XLATE);
|
||||||
|
|
||||||
XlateObj->cEntries = 2;
|
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)
|
if (XlateObj->pulXlate == NULL)
|
||||||
{
|
{
|
||||||
PALETTE_UnlockPalette(DestPalGDI);
|
PALETTE_UnlockPalette(DestPalGDI);
|
||||||
|
|
|
@ -317,7 +317,7 @@ IntSetupCurIconHandles(PWINSTATION_OBJECT WinSta)
|
||||||
NULL,
|
NULL,
|
||||||
0,
|
0,
|
||||||
sizeof(CURICON_PROCESS),
|
sizeof(CURICON_PROCESS),
|
||||||
0,
|
TAG_DIB,
|
||||||
128);
|
128);
|
||||||
InitializeListHead(&gCurIconList);
|
InitializeListHead(&gCurIconList);
|
||||||
|
|
||||||
|
|
|
@ -155,14 +155,14 @@ MsqInitializeImpl(VOID)
|
||||||
NULL,
|
NULL,
|
||||||
0,
|
0,
|
||||||
sizeof(USER_MESSAGE),
|
sizeof(USER_MESSAGE),
|
||||||
0,
|
TAG_USRMSG,
|
||||||
256);
|
256);
|
||||||
ExInitializePagedLookasideList(&TimerLookasideList,
|
ExInitializePagedLookasideList(&TimerLookasideList,
|
||||||
NULL,
|
NULL,
|
||||||
NULL,
|
NULL,
|
||||||
0,
|
0,
|
||||||
sizeof(TIMER_ENTRY),
|
sizeof(TIMER_ENTRY),
|
||||||
0,
|
TAG_TIMER,
|
||||||
64);
|
64);
|
||||||
|
|
||||||
return(STATUS_SUCCESS);
|
return(STATUS_SUCCESS);
|
||||||
|
|
Loading…
Reference in a new issue