Closed
Bug 560556
Opened 16 years ago
Closed 13 years ago
JS_ClearScope doesn't handle failure from JS_SetReservedSlot
Categories
(Core :: JavaScript Engine, defect)
Core
JavaScript Engine
Tracking
()
RESOLVED
WORKSFORME
People
(Reporter: timeless, Unassigned)
References
(Blocks 1 open bug)
Details
(Keywords: coverity)
3812 JS_PUBLIC_API(void)
3813 JS_ClearScope(JSContext *cx, JSObject *obj)
3814 {
3815 CHECK_REQUEST(cx);
3816
3817 if (obj->map->ops->clear)
3818 obj->map->ops->clear(cx, obj);
3819
3820 /* Clear cached class objects on the global object. */
3821 if (obj->getClass()->flags & JSCLASS_IS_GLOBAL) {
3822 int key;
3823
3824 for (key = JSProto_Null; key < JSProto_LIMIT; key++)
3825 JS_SetReservedSlot(cx, obj, key, JSVAL_VOID);
3826 }
3827 }
In theory, JS_SetReservedSlot can fail for an object whose scope is shared. For JS_ClearScope where JSCLASS_IS_GLOBAL, we might know that the object's scope isn't shared.
I wonder if that means we can use a hypothetical private js_SetReservedSlot_will_not_fail()
Sadly this is too complicated for my tiny little mind at this hour.
Comment 1•13 years ago
|
||
This was fixed as part of bug 650369, in fact.
Status: NEW → RESOLVED
Closed: 13 years ago
Resolution: --- → WORKSFORME
Updated•8 years ago
|
Blocks: coverity-analysis
You need to log in
before you can comment on or make changes to this bug.
Description
•