Improper serialization of `null` values
authorAlexander Ebert <ebert@woltlab.com>
Wed, 25 Nov 2020 23:25:31 +0000 (00:25 +0100)
committerAlexander Ebert <ebert@woltlab.com>
Wed, 25 Nov 2020 23:25:31 +0000 (00:25 +0100)
Fixes #3751

wcfsetup/install/files/js/WoltLabSuite/Core/Core.js
wcfsetup/install/files/ts/WoltLabSuite/Core/Core.ts

index 27d5f4ef5dcff83ad6f6af5eb7af6043a5a76a6c..5256fff96bc298ae6ce851262dc1d04a3c01813f 100644 (file)
@@ -164,6 +164,9 @@ define(["require", "exports"], function (require, exports) {
      * Recursively serializes an object into an encoded URI parameter string.
      */
     function serialize(obj, prefix) {
+        if (obj === null) {
+            return "";
+        }
         const parameters = [];
         Object.keys(obj).forEach((key) => {
             const parameterKey = prefix ? prefix + "[" + key + "]" : key;
index 2f74a7adeb46d099192025b5e78d2b1dc816beff..d5635967c3623f758019032ef0ded8edf3f64c37 100644 (file)
@@ -177,8 +177,11 @@ export function getUuid(): string {
  * Recursively serializes an object into an encoded URI parameter string.
  */
 export function serialize(obj: object, prefix?: string): string {
-  const parameters: string[] = [];
+  if (obj === null) {
+    return "";
+  }
 
+  const parameters: string[] = [];
   Object.keys(obj).forEach((key) => {
     const parameterKey = prefix ? prefix + "[" + key + "]" : key;
     const value = obj[key];