Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

63 lines
922 B

/*++
Copyright (c) 2002 Microsoft Corporation
Module Name:
AutoCad.cpp
Abstract:
Prevent AV when IsEmptyRect is called with a bad pointer. This fixes a hard to
repro Watson bug.
Notes:
This is an app specific shim.
History:
02/13/2002 linstev Created
--*/
#include "precomp.h"
IMPLEMENT_SHIM_BEGIN(AutoCad)
#include "ShimHookMacro.h"
APIHOOK_ENUM_BEGIN
APIHOOK_ENUM_ENTRY(IsRectEmpty)
APIHOOK_ENUM_END
/*++
IsEmptyRect
--*/
BOOL
APIHOOK(IsRectEmpty)(
CONST RECT *lprc
)
{
if (IsBadReadPtr(lprc, sizeof(RECT))) {
LOGN(eDbgLevelInfo, "[IsRectEmpty] invalid lprc pointer, returning TRUE");
return TRUE;
}
return ORIGINAL_API(IsRectEmpty)(lprc);
}
/*++
Register hooked functions
--*/
HOOK_BEGIN
APIHOOK_ENTRY(USER32.DLL, IsRectEmpty)
HOOK_END
IMPLEMENT_SHIM_END