diff options
-rw-r--r-- | ext/bg/js/options.js | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/ext/bg/js/options.js b/ext/bg/js/options.js index df95aae9..d903250e 100644 --- a/ext/bg/js/options.js +++ b/ext/bg/js/options.js @@ -305,14 +305,19 @@ function optionsVersion(options) { ]; optionsSetDefaults(options); - if (!options.hasOwnProperty('version')) { - options.version = fixups.length; + + let version = options.version; + if (typeof version !== 'number' || !Number.isFinite(version)) { + version = fixups.length; + } else { + version = Math.max(0, Math.floor(version)); } - while (options.version < fixups.length) { - fixups[options.version++](); + for (; version < fixups.length; ++version) { + fixups[version](); } + options.version = version; return options; } |