From 58728e188075be4a9530f9d90716bf5b55b05e7d Mon Sep 17 00:00:00 2001 From: Dennis Shtatnov Date: Thu, 4 Jan 2018 09:39:58 -0500 Subject: [PATCH] Fix mangle collision with cache reuse across runs --- lib/propmangle.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/propmangle.js b/lib/propmangle.js index c2f27c42..e3f727dd 100644 --- a/lib/propmangle.js +++ b/lib/propmangle.js @@ -114,7 +114,8 @@ function mangle_properties(ast, options) { if (cache == null) { cache = { cname: -1, - props: new Dictionary() + props: new Dictionary(), + props_inv: new Dictionary() }; } @@ -214,10 +215,11 @@ function mangle_properties(ast, options) { if (!mangled) { do { mangled = base54(++cache.cname); - } while (!can_mangle(mangled)); + } while (!can_mangle(mangled) || cache.props_inv.get(mangled)); } cache.props.set(name, mangled); + cache.props_inv.set(mangled, name); } return mangled; }