mirror of
https://github.com/mozilla/pdf.js.git
synced 2025-04-22 16:18:08 +02:00
Merge pull request #11568 from Snuffleupagus/PDF-header-validation
Ensure that the PDF header contains an actual number (PR 11463 follow-up)
This commit is contained in:
commit
2fb4076e05
4 changed files with 101 additions and 1 deletions
|
@ -429,6 +429,8 @@ const FINGERPRINT_FIRST_BYTES = 1024;
|
|||
const EMPTY_FINGERPRINT =
|
||||
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00";
|
||||
|
||||
const PDF_HEADER_VERSION_REGEXP = /^[1-9]\.[0-9]$/;
|
||||
|
||||
function find(stream, signature, limit = 1024, backwards = false) {
|
||||
if (
|
||||
typeof PDFJSDev === "undefined" ||
|
||||
|
@ -668,8 +670,17 @@ class PDFDocument {
|
|||
Trapped: isName,
|
||||
};
|
||||
|
||||
let version = this.pdfFormatVersion;
|
||||
if (
|
||||
typeof version !== "string" ||
|
||||
!PDF_HEADER_VERSION_REGEXP.test(version)
|
||||
) {
|
||||
warn(`Invalid PDF header version number: ${version}`);
|
||||
version = null;
|
||||
}
|
||||
|
||||
const docInfo = {
|
||||
PDFFormatVersion: this.pdfFormatVersion,
|
||||
PDFFormatVersion: version,
|
||||
IsLinearized: !!this.linearization,
|
||||
IsAcroFormPresent: !!this.acroForm,
|
||||
IsXFAPresent: !!this.xfa,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue