slackware-current/source/ap/ghostscript/9b6fe6e1008f1b9b7fc3109b5f94db8d970fbcaa.patch
Patrick J Volkerding 16d0eba8e3 Wed Sep 20 00:08:45 UTC 2023
a/gettext-0.22.1-x86_64-1.txz:  Upgraded.
a/kernel-firmware-20230918_3672cca-noarch-1.txz:  Upgraded.
a/kernel-generic-6.1.54-x86_64-1.txz:  Upgraded.
a/kernel-huge-6.1.54-x86_64-1.txz:  Upgraded.
a/kernel-modules-6.1.54-x86_64-1.txz:  Upgraded.
a/openssl-solibs-3.1.3-x86_64-1.txz:  Upgraded.
ap/ghostscript-10.02.0-x86_64-2.txz:  Rebuilt.
  [PATCH] PDF interpreter - fix PageList processing.
  Thanks to denydias.
d/gettext-tools-0.22.1-x86_64-1.txz:  Upgraded.
d/kernel-headers-6.1.54-x86-1.txz:  Upgraded.
k/kernel-source-6.1.54-noarch-1.txz:  Upgraded.
l/dconf-editor-45.0-x86_64-1.txz:  Upgraded.
l/harfbuzz-8.2.1-x86_64-1.txz:  Upgraded.
l/nodejs-20.7.0-x86_64-1.txz:  Upgraded.
n/openssl-3.1.3-x86_64-1.txz:  Upgraded.
  This update fixes bugs and a security issue that does not affect Linux:
  Fix POLY1305 MAC implementation corrupting XMM registers on Windows.
  For more information, see:
    https://www.cve.org/CVERecord?id=CVE-2023-4807
isolinux/initrd.img:  Rebuilt.
kernels/*:  Upgraded.
testing/packages/rust-1.72.1-x86_64-1.txz:  Upgraded.
usb-and-pxe-installers/usbboot.img:  Rebuilt.
2023-09-20 03:08:36 +02:00

52 lines
1.7 KiB
Diff

From 9b6fe6e1008f1b9b7fc3109b5f94db8d970fbcaa Mon Sep 17 00:00:00 2001
From: Ken Sharp <Ken.Sharp@artifex.com>
Date: Mon, 18 Sep 2023 15:47:12 +0100
Subject: [PATCH] PDF interpreter - fix PageList processing
Bug #707137 "Error processing PDF while using the parameter -sPageList"
There are actually 2 problems; firstly a copy/paste error of the
operand stack index when returning the page list meant that the values
were returned in reverse order.
Secondly the PageList string wasn't actually being passed as an operand
at all.
This only affects the PDF interpreter because it (unfortunately) uses a
different mechanism from the PostScript interpreter.
---
Resource/Init/pdf_main.ps | 3 +--
psi/zpdfops.c | 2 +-
2 files changed, 2 insertions(+), 3 deletions(-)
diff --git a/Resource/Init/pdf_main.ps b/Resource/Init/pdf_main.ps
index e541835ae..73097f1a7 100644
--- a/Resource/Init/pdf_main.ps
+++ b/Resource/Init/pdf_main.ps
@@ -710,8 +710,7 @@ currentdict /PDFSwitches undef
{
/PageList where {
pop
- pdfpagecount
- .PDFparsePageList
+ PageList pdfpagecount .PDFparsePageList
dup 0 eq { % No ranges, error
(\n **** Error: Invalid PageList: ) print
PageList print
diff --git a/psi/zpdfops.c b/psi/zpdfops.c
index 207130f1a..e7e0a42ee 100644
--- a/psi/zpdfops.c
+++ b/psi/zpdfops.c
@@ -1447,7 +1447,7 @@ static int zPDFparsePageList(i_ctx_t *i_ctx_p)
}
/* push the even/odd, start, end triples on the stack */
for (i=0; i < size; i++) {
- o = ref_stack_index(&o_stack, 0);
+ o = ref_stack_index(&o_stack, size - i);
if (o == NULL)
return_error(gs_error_stackunderflow);
/* skip the initial "ordered" flag */
--
2.34.1