1
0
Fork 0
mirror of https://github.com/mozilla/pdf.js.git synced 2025-04-20 15:18:08 +02:00

Merge pull request #14600 from Snuffleupagus/getPageIndex-more-validation

[api-minor] Add validation for the  `PDFDocumentProxy.getPageIndex` method
This commit is contained in:
Tim van der Meij 2022-02-26 15:30:00 +01:00 committed by GitHub
commit cf7ce0aa7e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 57 additions and 46 deletions

View file

@ -454,8 +454,8 @@ class WorkerMessageHandler {
});
});
handler.on("GetPageIndex", function wphSetupGetPageIndex({ ref }) {
const pageRef = Ref.get(ref.num, ref.gen);
handler.on("GetPageIndex", function wphSetupGetPageIndex(data) {
const pageRef = Ref.get(data.num, data.gen);
return pdfManager.ensureCatalog("getPageIndex", [pageRef]);
});

View file

@ -2848,7 +2848,7 @@ class WorkerTransport {
pageNumber <= 0 ||
pageNumber > this._numPages
) {
return Promise.reject(new Error("Invalid page request"));
return Promise.reject(new Error("Invalid page request."));
}
const pageIndex = pageNumber - 1,
@ -2879,8 +2879,19 @@ class WorkerTransport {
}
getPageIndex(ref) {
if (
typeof ref !== "object" ||
ref === null ||
!Number.isInteger(ref.num) ||
ref.num < 0 ||
!Number.isInteger(ref.gen) ||
ref.gen < 0
) {
return Promise.reject(new Error("Invalid pageIndex request."));
}
return this.messageHandler.sendWithPromise("GetPageIndex", {
ref,
num: ref.num,
gen: ref.gen,
});
}