MDL-84136 filter_tex: Improve sanitization of forbidden items

This commit is contained in:
David Woloszyn 2025-01-15 12:17:06 +11:00 committed by Huong Nguyen
parent 6e13b652cc
commit a40e5bad8f
2 changed files with 4 additions and 2 deletions

View File

@ -102,7 +102,9 @@ function filter_tex_sanitize_formula(string $texexp): string {
// First, mangle all denied words.
$texexp = preg_replace_callback($denylist,
function($matches) {
return 'forbiddenkeyword_' . $matches[0];
// Remove backslashes to make commands impotent.
$noslashes = str_replace('\\', '', $matches[0]);
return 'forbiddenkeyword_' . $noslashes;
},
$texexp
);

View File

@ -49,7 +49,7 @@ final class lib_test extends advanced_testcase {
['x\ =\ \frac{\sqrt{144}}{2}\ \times\ (y\ +\ 12)', 'x\ =\ \frac{\sqrt{144}}{2}\ \times\ (y\ +\ 12)'],
['\usepackage[latin1]{inputenc}', '\usepackage[latin1]{inputenc}'],
['\newcommand{\A}{\verbatiminput}', '\newforbiddenkeyword_command{\A}{\verbatimforbiddenkeyword_input}'],
['\pdffiledump offset 0 length', 'forbiddenkeyword_\pdffiledump offset 0 length'],
['\pdffiledump offset 0 length', 'forbiddenkeyword_pdffiledump offset 0 length'],
];
}