mirror of
https://github.com/webadderallorg/Recordly.git
synced 2026-11-09 23:43:35 +00:00
fix(media-server): reject malformed range headers
This commit is contained in:
1 parent
5ac42363d2
commit
e79bf5b5e2
2 files changed
+8
-1
No files matched your search
@@ -72,6 +72,13 @@ describe("media server path policy", () => {
|
||||
});
|
||||
|
||||
describe("resolveHttpByteRange", () => {
|
||||
it("rejects malformed and multi-range headers", async () => {
|
||||
const { resolveHttpByteRange } = await import("./mediaServer");
|
||||
|
||||
expect(resolveHttpByteRange("bytes=0-1,2-3", 100)).toBeNull();
|
||||
expect(resolveHttpByteRange("bytes=0-1foo", 100)).toBeNull();
|
||||
});
|
||||
|
||||
it("clamps oversized explicit end offsets to EOF", async () => {
|
||||
const { resolveHttpByteRange } = await import("./mediaServer");
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@ export function resolveHttpByteRange(
|
||||
rangeHeader: string,
|
||||
fileSize: number,
|
||||
): { start: number; end: number } | null {
|
||||
const match = rangeHeader.match(/bytes=(\d*)-(\d*)/);
|
||||
const match = rangeHeader.trim().match(/^bytes=(\d*)-(\d*)$/);
|
||||
if (!match || (!match[1] && !match[2])) {
|
||||
return null;
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user