Add files via upload

This commit is contained in:
wukunyu264 2025-08-13 17:07:05 +08:00 committed by GitHub
parent 58d5120a60
commit 4c885f33f3
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 41 additions and 0 deletions

View File

@ -0,0 +1,41 @@
/* eslint-env mocha */
const { expect } = require('chai');
const { performance } = require('perf_hooks');
const path = require('path');
// —— 最小浏览器 & jQuery stub避免 DOM 依赖 ——
global.window = global;
global.document = {};
global.jQuery = function(){};
global.$ = global.jQuery;
const target = path.join(
__dirname,
'..',
'examples/wchess/wchess.wasm/chessboardjs-1.0.0/js/chessboard-1.0.0.js'
);
// 载入真实实现(会把 Chessboard 挂到全局)
require(target);
const Chessboard = global.Chessboard;
describe('FEN sanitize ReDoS in whisper.cpp (fen = fen.replace(/ .+$/, \'\'))', function () {
this.timeout(60_000);
it('should complete within 2 seconds', function () {
const N = 100000;
const attack = ' '.repeat(N) + '\n@';
const t0 = performance.now();
try { Chessboard.fenToObj(attack); } catch (_) {}
const ms = performance.now() - t0;
expect(ms).to.be.lessThan(2_000);
});
});