From bb4330e486b77d772d4e22858bb2cfaa1312a77d Mon Sep 17 00:00:00 2001 From: Nick O'Leary Date: Mon, 28 Sep 2020 10:40:03 +0100 Subject: [PATCH] Clone settings before passing to storage layer Avoids the storage layer modifying the in-memory object --- packages/node_modules/@node-red/runtime/lib/settings.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/node_modules/@node-red/runtime/lib/settings.js b/packages/node_modules/@node-red/runtime/lib/settings.js index e22a90686..16667d177 100644 --- a/packages/node_modules/@node-red/runtime/lib/settings.js +++ b/packages/node_modules/@node-red/runtime/lib/settings.js @@ -92,7 +92,7 @@ var persistentSettings = { assert.deepEqual(current,value); return when.resolve(); } catch(err) { - return storage.saveSettings(globalSettings); + return storage.saveSettings(clone(globalSettings)); } }, delete: function(prop) { @@ -104,7 +104,7 @@ var persistentSettings = { } if (globalSettings.hasOwnProperty(prop)) { delete globalSettings[prop]; - return storage.saveSettings(globalSettings); + return storage.saveSettings(clone(globalSettings)); } return when.resolve(); }, @@ -183,7 +183,7 @@ var persistentSettings = { return when.resolve(); } catch(err) { globalSettings.users = userSettings; - return storage.saveSettings(globalSettings); + return storage.saveSettings(clone(globalSettings)); } } }