From f1e67886d589b1d3b547c48f46458fdc1e198980 Mon Sep 17 00:00:00 2001 From: Sean Corrales Date: Sun, 27 Oct 2019 00:33:04 -0500 Subject: [PATCH] Ensure data can be decoded and parsed into JSON before loading --- src/components/Settings.vue | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/components/Settings.vue b/src/components/Settings.vue index 74da852..135cded 100644 --- a/src/components/Settings.vue +++ b/src/components/Settings.vue @@ -195,8 +195,14 @@ export default { methods: { LoadData: function () { if (this.DataToLoad !== '') { - this.$store.commit('SetSerializedState', this.DataToLoad) - alert('Data Loaded!') + try { + assertDataIsValid(this.DataToLoad); + this.$store.commit('SetSerializedState', this.DataToLoad) + alert('Data Loaded!') + } catch (err) { + console.error('Invalid data string'); + alert('Error loading data.') + } } }, ConfirmDelete: function () { @@ -210,6 +216,10 @@ export default { } } } + +function assertDataIsValid(data) { + JSON.parse(atob(data)); +}