Skip to content

Commit 60befe5

Browse files
committed
update netstack.js
1 parent 7a0d7d6 commit 60befe5

File tree

1 file changed

+14
-11
lines changed

1 file changed

+14
-11
lines changed

assets/js/netstack.js

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*!
2-
* netStack v2.1.2
2+
* netStack v2.1.3
33
* A simple and easy JavaScript library for highlighting .NET stack traces
44
* License: Apache 2
55
* Author: https://elmah.io
@@ -18,6 +18,10 @@
1818
}
1919
}(typeof self !== 'undefined' ? self : this, function() {
2020

21+
// Prevent SQL keywords
22+
var sqlKeywords = "INNER JOIN|DELETE|SELECT|FROM|WHERE|INSERT|UPDATE";
23+
var preventSQL = `(?!${sqlKeywords})`;
24+
2125
function netStack(element, options) {
2226
if (typeof document !== 'undefined') {
2327
if (typeof element === 'string') {
@@ -100,7 +104,7 @@
100104
repl: null
101105
},
102106
{
103-
find: new RegExp('(\\s)' + at_language + ' ([^-:]*?)\\((.*?)\\)', 'g'),
107+
find: new RegExp('(\\s)' + at_language + ' ' + preventSQL + '([^-:)]*?)\\((.*?)\\)', 'g'),
104108
repl: null
105109
}
106110
];
@@ -147,13 +151,13 @@
147151
lang = '',
148152
clone = '';
149153

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")
157161
};
158162

159163
// look for the language(s) in the stack trace
@@ -213,9 +217,8 @@
213217
}
214218

215219
if (hli.test(lines[i])) {
216-
217220
// Frame
218-
var regFrame = new RegExp('(\\S*)' + languageSet.at + ' .*?\\)'),
221+
var regFrame = new RegExp('(\\S*)' + languageSet.at + ' ' + preventSQL + '[^-:)]*?\\(.*?\\)'),
219222
partsFrame = String(regFrame.exec(lines[i]));
220223

221224
if (partsFrame.substring(partsFrame.length - 1) == ',') {

0 commit comments

Comments
 (0)