diff --git a/lib/propmangle.js b/lib/propmangle.js index efb31cc1..f17909d7 100644 --- a/lib/propmangle.js +++ b/lib/propmangle.js @@ -78,7 +78,8 @@ function mangle_properties(ast, options) { reserved: null, }); - var reserved = options.reserved || []; + var reserved = options.reserved; + if (!Array.isArray(reserved)) reserved = []; if (!options.builtins) find_builtins(reserved); var cache = options.cache; diff --git a/lib/scope.js b/lib/scope.js index 8bc96072..ea43f752 100644 --- a/lib/scope.js +++ b/lib/scope.js @@ -377,13 +377,15 @@ AST_Symbol.DEFMETHOD("global", function(){ }); AST_Toplevel.DEFMETHOD("_default_mangler_options", function(options){ - return defaults(options, { + options = defaults(options, { eval : false, ie8 : false, keep_fnames : false, reserved : [], toplevel : false, }); + if (!Array.isArray(options.reserved)) options.reserved = []; + return options; }); AST_Toplevel.DEFMETHOD("mangle_names", function(options){