freebsd-ports/www/firefox36/files/patch-ff-474536
Martin Wilke 5657fe7eac Backport patches to fix the following security vulnerabilities:
CVE-2009-1312
	CVE-2009-0652
	CVE-2009-1302
	CVE-2009-1303

Obtained from:	Mozilla Bugzilla
Security:	http://www.vuxml.org/freebsd/3b18e237-2f15-11de-9672-0030843d3802.html
2009-04-22 08:49:19 +00:00

28 lines
1.3 KiB
Text

diff -U 8 -p -r3.181.2.104 jsinterp.c
--- js/src/jsinterp.c 20 Oct 2008 15:43:57 -0000 3.181.2.104
+++ js/src/jsinterp.c 2 Apr 2009 14:44:48 -0000
@@ -4722,21 +4722,21 @@ interrupt:
/*
* Try to optimize a property we either just created, or found
* directly in the global object, that is permanent, has a slot,
* and has stub getter and setter, into a "fast global" accessed
* by the JSOP_*GVAR opcodes.
*/
if (atomIndex < script->numGlobalVars &&
- (attrs & JSPROP_PERMANENT) &&
obj2 == obj &&
OBJ_IS_NATIVE(obj)) {
sprop = (JSScopeProperty *) prop;
- if (SPROP_HAS_VALID_SLOT(sprop, OBJ_SCOPE(obj)) &&
+ if ((sprop->attrs & JSPROP_PERMANENT) &&
+ SPROP_HAS_VALID_SLOT(sprop, OBJ_SCOPE(obj)) &&
SPROP_HAS_STUB_GETTER(sprop) &&
SPROP_HAS_STUB_SETTER(sprop)) {
/*
* Fast globals use fp->vars to map the global name's
* atomIndex to the permanent fp->varobj slot number,
* tagged as a jsval. The atomIndex for the global's
* name literal is identical to its fp->vars index.
*/