summaryrefslogtreecommitdiff
path: root/Source/JavaScriptCore/runtime/JSScope.cpp
diff options
context:
space:
mode:
authorSimon Hausmann <simon.hausmann@digia.com>2012-11-07 11:22:47 +0100
committerSimon Hausmann <simon.hausmann@digia.com>2012-11-07 11:22:47 +0100
commitcfd86b747d32ac22246a1aa908eaa720c63a88c1 (patch)
tree24d68c6f61c464ecba1e05670b80390ea3b0e50c /Source/JavaScriptCore/runtime/JSScope.cpp
parent69d7c744c9de19d152dbe2d8e46eb7dfd4511d1a (diff)
downloadqtwebkit-cfd86b747d32ac22246a1aa908eaa720c63a88c1.tar.gz
Imported WebKit commit 20271caf2e2c016d5cef40184cddeefeac4f1876 (http://svn.webkit.org/repository/webkit/trunk@133733)
New snapshot that contains all previous fixes as well as build fix for latest QtMultimedia API changes.
Diffstat (limited to 'Source/JavaScriptCore/runtime/JSScope.cpp')
-rw-r--r--Source/JavaScriptCore/runtime/JSScope.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/Source/JavaScriptCore/runtime/JSScope.cpp b/Source/JavaScriptCore/runtime/JSScope.cpp
index 508a90540..8651a76ba 100644
--- a/Source/JavaScriptCore/runtime/JSScope.cpp
+++ b/Source/JavaScriptCore/runtime/JSScope.cpp
@@ -334,11 +334,14 @@ template <JSScope::LookupMode mode, JSScope::ReturnValues returnValues> JSObject
ASSERT(variableObject);
ASSERT(variableObject->symbolTable());
SymbolTableEntry entry = variableObject->symbolTable()->get(identifier.impl());
- // Variable was actually inserted by eval
+ // Defend against the variable being actually inserted by eval.
if (entry.isNull()) {
ASSERT(!jsDynamicCast<JSNameScope*>(variableObject));
goto fail;
}
+ // If we're getting the 'arguments' then give up on life.
+ if (identifier == callFrame->propertyNames().arguments)
+ goto fail;
if (putToBaseOperation) {
putToBaseOperation->m_kind = entry.isReadOnly() ? PutToBaseOperation::Readonly : PutToBaseOperation::VariablePut;