import ghostscript-9.54.0-9.el9
This commit is contained in:
parent
305f14ac08
commit
6571265829
@ -0,0 +1,88 @@
|
||||
From 0b74b65ecc0f36d40b8d04a7fa1fa8b5f9d2b3ff Mon Sep 17 00:00:00 2001
|
||||
From: Chris Liddell <chris.liddell@artifex.com>
|
||||
Date: Thu, 13 Oct 2022 14:55:28 +0100
|
||||
Subject: [PATCH] Deal with different VM modes during CIDFont loading
|
||||
|
||||
To help differentiate between a substituted CIDFont and an embedded one, a
|
||||
change was made to store the file path in the CIDFont dictionary. That change
|
||||
failed to account for the possibility that the file object and the CIDFont
|
||||
dictionary may not be in compatible VM modes.
|
||||
|
||||
This adds code to ensure that the string holding the path is in a suitable VM
|
||||
mode to be stored into the dictionary.
|
||||
|
||||
Reported by Richard Lescak <rlescak@redhat.com>
|
||||
---
|
||||
Resource/Init/gs_cidfn.ps | 23 +++++++++++++++++++----
|
||||
1 file changed, 19 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/Resource/Init/gs_cidfn.ps b/Resource/Init/gs_cidfn.ps
|
||||
index 870a2e11c..fa050ed7a 100644
|
||||
--- a/Resource/Init/gs_cidfn.ps
|
||||
+++ b/Resource/Init/gs_cidfn.ps
|
||||
@@ -1,4 +1,4 @@
|
||||
-% Copyright (C) 2001-2021 Artifex Software, Inc.
|
||||
+% Copyright (C) 2001-2022 Artifex Software, Inc.
|
||||
% All Rights Reserved.
|
||||
%
|
||||
% This software is provided AS-IS with no warranty, either express or
|
||||
@@ -36,6 +36,17 @@
|
||||
|
||||
30 dict begin
|
||||
|
||||
+/.gcompatstringcopy % <string> <global> .gcompatstringcopy <string>
|
||||
+{
|
||||
+ dup 2 index gcheck eq
|
||||
+ { pop }
|
||||
+ {
|
||||
+ currentglobal 3 1 roll setglobal
|
||||
+ dup length string copy
|
||||
+ exch setglobal
|
||||
+ } ifelse
|
||||
+} bind def
|
||||
+
|
||||
% The key in .cidfonttypes is the CIDFontType value;
|
||||
% the value is a procedure that takes a font name and the CIDFont dictionary
|
||||
% and replaces the latter with a real font.
|
||||
@@ -58,7 +69,7 @@ dup 0 {
|
||||
end
|
||||
} if
|
||||
1 index exch .buildfont9
|
||||
- .currentresourcefile dup type /filetype eq { //.filename {1 index exch /ResourcePath exch put} if }{ pop} ifelse
|
||||
+ .currentresourcefile dup type /filetype eq { //.filename {1 index gcheck //.gcompatstringcopy exec 1 index exch /ResourcePath exch put} if }{ pop} ifelse
|
||||
exch pop
|
||||
} put % Don't bind it here, because gs_fapi.ps redefines .buildfont9
|
||||
|
||||
@@ -138,10 +149,11 @@ dup 0 {
|
||||
|
||||
% ------ CIDFontType 1 (FontType 10) ------ %
|
||||
|
||||
+
|
||||
dup 1 {
|
||||
10 //.checkfonttype exec pop
|
||||
1 index exch .buildfont10
|
||||
- .currentresourcefile dup type /filetype eq { //.filename {1 index exch /ResourcePath exch put} if }{ pop} ifelse
|
||||
+ .currentresourcefile dup type /filetype eq { //.filename {1 index gcheck //.gcompatstringcopy exec 1 index exch /ResourcePath exch put} if }{ pop} ifelse
|
||||
exch pop
|
||||
} put % Don't bind it here because gs_fapi.ps redefines .buildfont10
|
||||
|
||||
@@ -150,12 +162,15 @@ dup 1 {
|
||||
dup 2 {
|
||||
11 //.checkfonttype exec pop
|
||||
1 index exch .buildfont11
|
||||
- .currentresourcefile dup type /filetype eq { //.filename {1 index exch /ResourcePath exch put} if }{ pop} ifelse
|
||||
+ .currentresourcefile dup type /filetype eq { //.filename {1 index gcheck //.gcompatstringcopy exec 1 index exch /ResourcePath exch put} if }{ pop} ifelse
|
||||
exch pop
|
||||
} put % Don't bind it here because gs_fapi.ps redefines .buildfont11
|
||||
|
||||
+currentdict /.gcompatstringcopy .undef
|
||||
+
|
||||
pop % .cidfonttypes
|
||||
|
||||
+
|
||||
% ---------------- Reading CIDFontType 0 files ---------------- %
|
||||
|
||||
/StartData { % <(Binary)|(Hex)> <datalength> StartData -
|
||||
--
|
||||
2.37.3
|
||||
|
@ -0,0 +1,22 @@
|
||||
diff -x .git -Napur ghostscript-9.27.old/contrib/japanese/gdevespg.c ghostscript-9.27.new/contrib/japanese/gdevespg.c
|
||||
--- ghostscript-9.27.old/contrib/japanese/gdevespg.c 2019-04-04 00:43:14.000000000 -0700
|
||||
+++ ghostscript-9.27.new/contrib/japanese/gdevespg.c 2023-01-24 11:25:32.588189093 -0800
|
||||
@@ -273,6 +273,9 @@
|
||||
int width, height, w, h, wp, hp, bLandscape;
|
||||
EpagPaperTable *pt;
|
||||
|
||||
+ /* Page size match tolerance in points */
|
||||
+ #define TOL 5
|
||||
+
|
||||
width = (int)pdev->MediaSize[0];
|
||||
height = (int)pdev->MediaSize[1];
|
||||
|
||||
@@ -291,7 +294,7 @@
|
||||
}
|
||||
|
||||
for (pt = epagPaperTable; pt->escpage > 0; pt++)
|
||||
- if (pt->width == w && pt->height == h)
|
||||
+ if (abs(w - pt->width) <= TOL && abs(h - pt->height) <= TOL)
|
||||
break;
|
||||
|
||||
gp_fprintf(fp, "%c%d", GS, pt->escpage);
|
@ -42,7 +42,7 @@
|
||||
Name: ghostscript
|
||||
Summary: Interpreter for PostScript language & PDF
|
||||
Version: 9.54.0
|
||||
Release: 7%{?dist}
|
||||
Release: 9%{?dist}
|
||||
|
||||
License: AGPLv3+
|
||||
|
||||
@ -106,6 +106,8 @@ Patch002: ghostscript-9.54.0-include-pipe-handle-in-validation.patch
|
||||
Patch003: ghostscript-9.54.0-covscan-fixes.patch
|
||||
#2049767 - CVE-2021-45949 heap-based buffer overflow in sampled_data_finish
|
||||
Patch004: ghostscript-9.54.0-Fix-op-stack-management-in-sampled_data_c.patch
|
||||
Patch005: ghostscript-9.54.0-Deal-with-different-VM-modes-during-CIDFont-loading.patch
|
||||
Patch006: ghostscript-9.54.0-ESC-Page-driver-does-not-set-page-size-correctly.patch
|
||||
|
||||
# Downstream patches -- these should be always included when doing rebase:
|
||||
# ------------------
|
||||
@ -439,6 +441,13 @@ done
|
||||
# =============================================================================
|
||||
|
||||
%changelog
|
||||
* Thu Feb 02 2023 Richard Lescak <rlescak@redhat.com> - 9.54.0-9
|
||||
- set the page size for A4 correctly in ESC/Page driver
|
||||
- Resolves: rhbz#2164613
|
||||
|
||||
* Fri Dec 09 2022 Richard Lescak <rlescak@redhat.com> - 9.54.0-8
|
||||
- fix loading of CIDFonts (#2138795)
|
||||
|
||||
* Thu Feb 24 2022 Richard Lescak <rlescak@redhat.com> - 9.54.0-7
|
||||
- Fix patch for covscan issues (#2032789)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user