summaryrefslogtreecommitdiff
path: root/src/mongo/scripting/mozjs/objectwrapper.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mongo/scripting/mozjs/objectwrapper.cpp')
-rw-r--r--src/mongo/scripting/mozjs/objectwrapper.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/mongo/scripting/mozjs/objectwrapper.cpp b/src/mongo/scripting/mozjs/objectwrapper.cpp
index 77ea9a1eca8..8781f792484 100644
--- a/src/mongo/scripting/mozjs/objectwrapper.cpp
+++ b/src/mongo/scripting/mozjs/objectwrapper.cpp
@@ -564,7 +564,12 @@ ObjectWrapper::WriteFieldRecursionFrame::WriteFieldRecursionFrame(JSContext* cx,
ids.infallibleAppend(rid);
}
} else {
- JS::AutoIdArray rids(cx, JS_Enumerate(cx, thisv));
+ auto ridArrayPtr = JS_Enumerate(cx, thisv);
+ if (!ridArrayPtr) {
+ throwCurrentJSException(
+ cx, ErrorCodes::JSInterpreterFailure, "Failure to enumerate object");
+ }
+ JS::AutoIdArray rids(cx, ridArrayPtr);
if (!ids.reserve(rids.length())) {
throwCurrentJSException(