|
1 | 1 | /*! |
2 | | - * netStack v2.1.2 |
| 2 | + * netStack v2.1.3 |
3 | 3 | * A simple and easy JavaScript library for highlighting .NET stack traces |
4 | 4 | * License: Apache 2 |
5 | 5 | * Author: https://elmah.io |
|
18 | 18 | } |
19 | 19 | }(typeof self !== 'undefined' ? self : this, function() { |
20 | 20 |
|
| 21 | + // Prevent SQL keywords |
| 22 | + var sqlKeywords = "INNER JOIN|DELETE|SELECT|FROM|WHERE|INSERT|UPDATE"; |
| 23 | + var preventSQL = `(?!${sqlKeywords})`; |
| 24 | + |
21 | 25 | function netStack(element, options) { |
22 | 26 | if (typeof document !== 'undefined') { |
23 | 27 | if (typeof element === 'string') { |
|
100 | 104 | repl: null |
101 | 105 | }, |
102 | 106 | { |
103 | | - find: new RegExp('(\\s)' + at_language + ' ([^-:]*?)\\((.*?)\\)', 'g'), |
| 107 | + find: new RegExp('(\\s)' + at_language + ' ' + preventSQL + '([^-:)]*?)\\((.*?)\\)', 'g'), |
104 | 108 | repl: null |
105 | 109 | } |
106 | 110 | ]; |
|
147 | 151 | lang = '', |
148 | 152 | clone = ''; |
149 | 153 |
|
150 | | - var languagesRegex = { |
151 | | - english: /\s+at .*?\)/g, |
152 | | - danish: /\s+ved .*?\)/g, |
153 | | - german: /\s+bei .*?\)/g, |
154 | | - spanish: /\s+en .*?\)/g, |
155 | | - russian: /\s+в .*?\)/g, |
156 | | - chinese: /\s+在 .*?\)/g |
| 154 | + const languagesRegex = { |
| 155 | + english: new RegExp(`\\s+at ${preventSQL}([^-:)]*?)\\(.*?\\)`, "g"), |
| 156 | + danish: new RegExp(`\\s+ved ${preventSQL}([^-:)]*?)\\(.*?\\)`, "g"), |
| 157 | + german: new RegExp(`\\s+bei ${preventSQL}([^-:)]*?)\\(.*?\\)`, "g"), |
| 158 | + spanish: new RegExp(`\\s+en ${preventSQL}([^-:)]*?)\\(.*?\\)`, "g"), |
| 159 | + russian: new RegExp(`\\s+в ${preventSQL}([^-:)]*?)\\(.*?\\)`, "g"), |
| 160 | + chinese: new RegExp(`\\s+在 ${preventSQL}([^-:)]*?)\\(.*?\\)`, "g") |
157 | 161 | }; |
158 | 162 |
|
159 | 163 | // look for the language(s) in the stack trace |
|
213 | 217 | } |
214 | 218 |
|
215 | 219 | if (hli.test(lines[i])) { |
216 | | - |
217 | 220 | // Frame |
218 | | - var regFrame = new RegExp('(\\S*)' + languageSet.at + ' .*?\\)'), |
| 221 | + var regFrame = new RegExp('(\\S*)' + languageSet.at + ' ' + preventSQL + '[^-:)]*?\\(.*?\\)'), |
219 | 222 | partsFrame = String(regFrame.exec(lines[i])); |
220 | 223 |
|
221 | 224 | if (partsFrame.substring(partsFrame.length - 1) == ',') { |
|
0 commit comments