diff options
author | kpdecker <kpdecker@gmail.com> | 2015-07-21 02:16:49 +0300 |
---|---|---|
committer | kpdecker <kpdecker@gmail.com> | 2015-08-01 15:48:28 -0500 |
commit | 410141c31e547694746f3ce9427d1dde30070777 (patch) | |
tree | 78066fe72f52ec743ac701f2c84c4acb0b7aff55 /lib/handlebars/compiler/javascript-compiler.js | |
parent | 060c087e62d98e09e41e8d2a784a8298e875d77b (diff) | |
download | handlebars.js-410141c31e547694746f3ce9427d1dde30070777.zip handlebars.js-410141c31e547694746f3ce9427d1dde30070777.tar.gz handlebars.js-410141c31e547694746f3ce9427d1dde30070777.tar.bz2 |
Fix escaping of non-javascript identifiers
The ‘ character would cause invalid javascript to be generated as it was not properly escaped. Switching to JSON.stringify safely handles all potential unescaped cases.
Diffstat (limited to 'lib/handlebars/compiler/javascript-compiler.js')
-rw-r--r-- | lib/handlebars/compiler/javascript-compiler.js | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/handlebars/compiler/javascript-compiler.js b/lib/handlebars/compiler/javascript-compiler.js index 8830661..d39ecb2 100644 --- a/lib/handlebars/compiler/javascript-compiler.js +++ b/lib/handlebars/compiler/javascript-compiler.js @@ -16,7 +16,7 @@ JavaScriptCompiler.prototype = { if (JavaScriptCompiler.isValidJavaScriptVariableName(name)) { return [parent, '.', name]; } else { - return [parent, "['", name, "']"]; + return [parent, '[', JSON.stringify(name), ']']; } }, depthedLookup: function(name) { |