From 0119ec2a9afe715eb4eaf64620fdbf69ffcdc564 Mon Sep 17 00:00:00 2001 From: Andreas Gal Date: Tue, 1 Jun 2010 15:45:16 -0700 Subject: [PATCH] Properly handle errors during lookup when recording JSOP_IN (569384, r=luke). --- js/src/jstracer.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/js/src/jstracer.cpp b/js/src/jstracer.cpp index 4eb5b25bad6..ab1ba8d2995 100644 --- a/js/src/jstracer.cpp +++ b/js/src/jstracer.cpp @@ -14013,6 +14013,9 @@ TraceRecorder::record_JSOP_IN() JSProperty* prop; JSBool ok = obj->lookupProperty(cx, id, &obj2, &prop); + if (!ok) + RETURN_ERROR_A("obj->lookupProperty failed in JSOP_IN"); + /* lookupProperty can reenter the interpreter and kill |this|. */ if (!localtm.recorder) { if (prop) @@ -14020,8 +14023,6 @@ TraceRecorder::record_JSOP_IN() return ARECORD_ABORTED; } - if (!ok) - RETURN_ERROR_A("obj->lookupProperty failed in JSOP_IN"); bool cond = prop != NULL; if (prop) obj2->dropProperty(cx, prop);