diff --git a/src/coreclr/debug/daccess/request.cpp b/src/coreclr/debug/daccess/request.cpp index 868593fae4651e..114900ffaf0365 100644 --- a/src/coreclr/debug/daccess/request.cpp +++ b/src/coreclr/debug/daccess/request.cpp @@ -135,11 +135,17 @@ BOOL DacValidateEEClass(PTR_EEClass pEEClass) BOOL DacValidateMethodTable(PTR_MethodTable pMT, BOOL &bIsFree) { + bIsFree = FALSE; + + if ((pMT == NULL) || dac_cast(pMT) == (TADDR)-1) + { + return FALSE; + } + // Verify things are right. BOOL retval = FALSE; EX_TRY { - bIsFree = FALSE; if (HOST_CDADDR(pMT) == HOST_CDADDR(g_pFreeObjectMethodTable)) { bIsFree = TRUE; @@ -182,7 +188,7 @@ BadMethodTable: ; BOOL DacValidateMD(PTR_MethodDesc pMD) { - if (pMD == NULL) + if ((pMD == NULL) || dac_cast(pMD) == (TADDR)-1) { return FALSE; }