From e66c3e1ea48e31bcf80f147213c270ea4b10549e Mon Sep 17 00:00:00 2001 From: Timo Kreuzer Date: Tue, 4 Aug 2009 21:31:34 +0000 Subject: [PATCH] Set pulXlate to aulXlate when freeing the allocated buffer to prevent double frees. svn path=/trunk/; revision=42393 --- reactos/subsystems/win32/win32k/eng/xlate.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/reactos/subsystems/win32/win32k/eng/xlate.c b/reactos/subsystems/win32/win32k/eng/xlate.c index 3dde6e231fc..10b2bdf6cfe 100644 --- a/reactos/subsystems/win32/win32k/eng/xlate.c +++ b/reactos/subsystems/win32/win32k/eng/xlate.c @@ -478,7 +478,10 @@ EXLATEOBJ_vInitialize( if (pexlo->xlo.flXlate & XO_TRIVIAL) { if (pexlo->xlo.pulXlate != pexlo->aulXlate) + { EngFreeMem(pexlo->xlo.pulXlate); + pexlo->xlo.pulXlate = pexlo->aulXlate; + } pexlo->pfnXlate = EXLATEOBJ_iXlateTrivial; pexlo->xlo.flXlate = XO_TRIVIAL; return; @@ -760,7 +763,7 @@ EXLATEOBJ_vCleanup(PEXLATEOBJ pexlo) { EngFreeMem(pexlo->xlo.pulXlate); } - pexlo->xlo.pulXlate = NULL; + pexlo->xlo.pulXlate = pexlo->aulXlate; } VOID