Skip to content

Commit 97fc3dd

Browse files
authored
Merge pull request #30 from FalkorDB/alert-autofix-59
Potential fix for code scanning alert no. 59: Incomplete string escaping or encoding
2 parents e1efc12 + 2c0f839 commit 97fc3dd

File tree

1 file changed

+10
-2
lines changed

1 file changed

+10
-2
lines changed

api/static/js/modules/chat.js

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -210,6 +210,14 @@ export function pauseRequest() {
210210
}
211211
}
212212

213+
/**
214+
* Escapes a string for safe embedding in a single-quoted JavaScript string literal.
215+
* Replaces backslashes and single quotes.
216+
*/
217+
function escapeForSingleQuotedJsString(str) {
218+
return str.replace(/\\/g, '\\\\').replace(/'/g, "\\'");
219+
}
220+
213221
export function addDestructiveConfirmationMessage(step) {
214222
const messageDiv = document.createElement('div');
215223
const messageDivContainer = document.createElement('div');
@@ -225,10 +233,10 @@ export function addDestructiveConfirmationMessage(step) {
225233
<div class="destructive-confirmation" data-confirmation-id="${confirmationId}">
226234
<div class="confirmation-text">${step.message.replace(/\n/g, '<br>')}</div>
227235
<div class="confirmation-buttons">
228-
<button class="confirm-btn danger" onclick="handleDestructiveConfirmation('CONFIRM', '${step.sql_query.replace(/'/g, "\\'")}', '${confirmationId}')">
236+
<button class="confirm-btn danger" onclick="handleDestructiveConfirmation('CONFIRM', '${escapeForSingleQuotedJsString(step.sql_query)}', '${confirmationId}')">
229237
CONFIRM - Execute Query
230238
</button>
231-
<button class="cancel-btn" onclick="handleDestructiveConfirmation('CANCEL', '${step.sql_query.replace(/'/g, "\\'")}', '${confirmationId}')">
239+
<button class="cancel-btn" onclick="handleDestructiveConfirmation('CANCEL', '${escapeForSingleQuotedJsString(step.sql_query)}', '${confirmationId}')">
232240
CANCEL - Abort Operation
233241
</button>
234242
</div>

0 commit comments

Comments
 (0)