Skip to content

Commit

Permalink
[MERGE #6328 @boingoing] ChakraCore servicing update for 19-11
Browse files Browse the repository at this point in the history
Merge pull request #6328 from boingoing:servicing/1911

Addresses the following issues:
CVE-2019-1426
CVE-2019-1427
CVE-2019-1428
  • Loading branch information
boingoing committed Nov 12, 2019
2 parents 01215c5 + ab9165a commit febc6a8
Show file tree
Hide file tree
Showing 5 changed files with 14 additions and 4 deletions.
2 changes: 1 addition & 1 deletion Build/NuGet/.pack-version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
1.11.14
1.11.15
3 changes: 2 additions & 1 deletion lib/Backend/GlobOptFields.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -250,7 +250,8 @@ GlobOpt::KillLiveElems(IR::IndirOpnd * indirOpnd, IR::Opnd * valueOpnd, BVSparse
IR::RegOpnd *baseOpnd = indirOpnd->GetBaseOpnd();
Value * baseValue = baseOpnd ? this->currentBlock->globOptData.FindValue(baseOpnd->m_sym) : nullptr;
ValueInfo * baseValueInfo = baseValue ? baseValue->GetValueInfo() : nullptr;
if (!baseValueInfo || !baseValueInfo->IsNotNativeArray())
if (!baseValueInfo || !baseValueInfo->IsNotNativeArray() ||
(this->IsLoopPrePass() && !this->IsSafeToTransferInPrepass(baseOpnd->m_sym, baseValueInfo)))
{
if (this->currentBlock->globOptData.maybeWrittenTypeSyms == nullptr)
{
Expand Down
2 changes: 1 addition & 1 deletion lib/Backend/GlobOptIntBounds.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -803,7 +803,7 @@ void GlobOpt::TrackIntSpecializedAddSubConstant(

// Ensure that the sym is live in the landing pad, and that its value has not changed in an unknown way yet
Value *const landingPadValue = currentBlock->loop->landingPad->globOptData.FindValue(sym);
if(!landingPadValue || srcValueNumber != landingPadValue->GetValueNumber())
if(!landingPadValue || srcValueNumber != landingPadValue->GetValueNumber() || currentBlock->loop->symsDefInLoop->Test(sym->m_id))
{
updateInductionVariableValueNumber = false;
break;
Expand Down
2 changes: 1 addition & 1 deletion lib/Common/ChakraCoreVersion.h
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
// ChakraCore version number definitions (used in ChakraCore binary metadata)
#define CHAKRA_CORE_MAJOR_VERSION 1
#define CHAKRA_CORE_MINOR_VERSION 11
#define CHAKRA_CORE_PATCH_VERSION 14
#define CHAKRA_CORE_PATCH_VERSION 15
#define CHAKRA_CORE_VERSION_RELEASE_QFE 0 // Redundant with PATCH_VERSION. Keep this value set to 0.

// -------------
Expand Down
9 changes: 9 additions & 0 deletions lib/Parser/Parse.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -9506,6 +9506,15 @@ ParseNodeCatch * Parser::ParseCatch()
GetCurrentBlock()->SetChildCallsEval(true);
}

if (pnodeCatchScope->GetCallsEval())
{
pnodeBody->AsParseNodeBlock()->SetCallsEval(true);
}
if (pnodeCatchScope->GetChildCallsEval())
{
pnodeBody->AsParseNodeBlock()->SetChildCallsEval(true);
}

if (buildAST)
{
PopStmt(&stmt);
Expand Down

0 comments on commit febc6a8

Please sign in to comment.