diff --git a/js/src/jsapi.cpp b/js/src/jsapi.cpp index 5ca4f2b6c49..9abe0726f24 100644 --- a/js/src/jsapi.cpp +++ b/js/src/jsapi.cpp @@ -3240,9 +3240,13 @@ JS_LookupPropertyById(JSContext *cx, JSObject *obj, jsid id, jsval *vp) } JS_PUBLIC_API(JSBool) -JS_LookupElement(JSContext *cx, JSObject *obj, jsint index, jsval *vp) +JS_LookupElement(JSContext *cx, JSObject *obj, uint32 index, jsval *vp) { - return JS_LookupPropertyById(cx, obj, INT_TO_JSID(index), vp); + CHECK_REQUEST(cx); + jsid id; + if (!IndexToId(cx, index, &id)) + return false; + return JS_LookupPropertyById(cx, obj, id, vp); } JS_PUBLIC_API(JSBool) diff --git a/js/src/jsapi.h b/js/src/jsapi.h index 1371b9968de..0da5af29caa 100644 --- a/js/src/jsapi.h +++ b/js/src/jsapi.h @@ -2496,7 +2496,7 @@ extern JS_PUBLIC_API(JSBool) JS_HasElement(JSContext *cx, JSObject *obj, uint32 index, JSBool *foundp); extern JS_PUBLIC_API(JSBool) -JS_LookupElement(JSContext *cx, JSObject *obj, jsint index, jsval *vp); +JS_LookupElement(JSContext *cx, JSObject *obj, uint32 index, jsval *vp); extern JS_PUBLIC_API(JSBool) JS_GetElement(JSContext *cx, JSObject *obj, jsint index, jsval *vp);