Fix nullptr deference inside CJS_GlobalArrays::DefineJSObjects()

Check the DefineJSObjects() return value and return early if it is null.
Rename a few variables to use Google C++ style along the way.

Bug: 376287202
Change-Id: I93ac51c12ed2d548727a8aded55a27ab9082d086
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/125530
Commit-Queue: Lei Zhang <thestig@chromium.org>
Reviewed-by: Thomas Sepez <tsepez@google.com>
diff --git a/fxjs/cjs_globalarrays.cpp b/fxjs/cjs_globalarrays.cpp
index 2a48564..91cdba5 100644
--- a/fxjs/cjs_globalarrays.cpp
+++ b/fxjs/cjs_globalarrays.cpp
@@ -12,25 +12,30 @@
 #include "v8/include/v8-container.h"
 #include "v8/include/v8-isolate.h"
 
-#define GLOBAL_ARRAY(rt, name, ...)                                          \
-  {                                                                          \
-    static const wchar_t* const kValues[] = {__VA_ARGS__};                   \
-    v8::Local<v8::Array> array = (rt)->NewArray();                           \
-    v8::Local<v8::Context> ctx = (rt)->GetIsolate()->GetCurrentContext();    \
-    uint32_t i = 0;                                                          \
-    for (const auto* value : kValues) {                                      \
-      array->Set(ctx, i, (rt)->NewString(value)).FromJust();                 \
-      ++i;                                                                   \
-    }                                                                        \
-    (rt)->SetConstArray((name), array);                                      \
-    (rt)->DefineGlobalConst(                                                 \
-        (name), [](const v8::FunctionCallbackInfo<v8::Value>& info) {        \
-          auto* pObj = static_cast<CJS_Object*>(                             \
-              CFXJS_Engine::GetBinding(info.GetIsolate(), info.This()));     \
-          CJS_Runtime* pCurrentRuntime = pObj->GetRuntime();                 \
-          if (pCurrentRuntime)                                               \
-            info.GetReturnValue().Set(pCurrentRuntime->GetConstArray(name)); \
-        });                                                                  \
+#define GLOBAL_ARRAY(rt, name, ...)                                       \
+  {                                                                       \
+    static constexpr const wchar_t* kValues[] = {__VA_ARGS__};            \
+    v8::Local<v8::Array> array = (rt)->NewArray();                        \
+    v8::Local<v8::Context> ctx = (rt)->GetIsolate()->GetCurrentContext(); \
+    uint32_t i = 0;                                                       \
+    for (const auto* value : kValues) {                                   \
+      array->Set(ctx, i, (rt)->NewString(value)).FromJust();              \
+      ++i;                                                                \
+    }                                                                     \
+    (rt)->SetConstArray((name), array);                                   \
+    (rt)->DefineGlobalConst(                                              \
+        (name), [](const v8::FunctionCallbackInfo<v8::Value>& info) {     \
+          auto* obj = static_cast<CJS_Object*>(                           \
+              CFXJS_Engine::GetBinding(info.GetIsolate(), info.This()));  \
+          if (!obj) {                                                     \
+            return;                                                       \
+          }                                                               \
+          CJS_Runtime* runtime = obj->GetRuntime();                       \
+          if (!runtime) {                                                 \
+            return;                                                       \
+          }                                                               \
+          info.GetReturnValue().Set(runtime->GetConstArray(name));        \
+        });                                                               \
   }
 
 // static