libspectre: minor update, patches no longer needed
This commit is contained in:
parent
3a2daeee0b
commit
090b8ea36f
@ -1,29 +0,0 @@
|
|||||||
From 7500e4d1ae85ecf9f61b1446e07ebb887118757c Mon Sep 17 00:00:00 2001
|
|
||||||
From: Carlos Garcia Campos <carlosgc@gnome.org>
|
|
||||||
Date: Sat, 30 Oct 2010 15:55:18 +0200
|
|
||||||
Subject: [PATCH 1/2] Fix a crash with documents containing an invalid
|
|
||||||
%%Pages: comment
|
|
||||||
|
|
||||||
When failed to allocate memory for pages because of invalid %%Pages:
|
|
||||||
comment, set maxpages to 0 to ignore the comment. Problem spotted
|
|
||||||
by Marek Kasik. Fixes bug #30867.
|
|
||||||
---
|
|
||||||
libspectre/ps.c | 2 ++
|
|
||||||
1 file changed, 2 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/libspectre/ps.c b/libspectre/ps.c
|
|
||||||
index 6c7cfce..4578cec 100644
|
|
||||||
--- a/libspectre/ps.c
|
|
||||||
+++ b/libspectre/ps.c
|
|
||||||
@@ -597,6 +597,8 @@ psscan(const char *filename, int scanstyle)
|
|
||||||
if (maxpages > 0) {
|
|
||||||
doc->pages = (struct page *) PS_calloc(maxpages,
|
|
||||||
sizeof(struct page));
|
|
||||||
+ if (!doc->pages)
|
|
||||||
+ maxpages = 0;
|
|
||||||
CHECK_MALLOCED(doc->pages);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
--
|
|
||||||
1.7.11
|
|
||||||
|
|
@ -1,38 +0,0 @@
|
|||||||
From 8ffd9185f81cb8337cece4c8e3672d0e6a97e935 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Marek Kasik <mkasik@redhat.com>
|
|
||||||
Date: Wed, 24 Nov 2010 15:54:14 +0100
|
|
||||||
Subject: [PATCH 2/2] Allocate at least 1 page in doc->pages
|
|
||||||
|
|
||||||
Allocate at least 1 page if there are no %%Pages: or %%Page: comments
|
|
||||||
in the PS file (#31512).
|
|
||||||
---
|
|
||||||
libspectre/ps.c | 10 +++++-----
|
|
||||||
1 file changed, 5 insertions(+), 5 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/libspectre/ps.c b/libspectre/ps.c
|
|
||||||
index 4578cec..0130fb4 100644
|
|
||||||
--- a/libspectre/ps.c
|
|
||||||
+++ b/libspectre/ps.c
|
|
||||||
@@ -1004,14 +1004,14 @@ psscan(const char *filename, int scanstyle)
|
|
||||||
section_len += line_len;
|
|
||||||
}
|
|
||||||
|
|
||||||
+ if (maxpages == 0) {
|
|
||||||
+ maxpages = 1;
|
|
||||||
+ doc->pages = (struct page *) PS_calloc(maxpages, sizeof(struct page));
|
|
||||||
+ CHECK_MALLOCED(doc->pages);
|
|
||||||
+ }
|
|
||||||
|
|
||||||
newpage:
|
|
||||||
while (DSCcomment(line) && iscomment(line+2, "Page:")) {
|
|
||||||
- if (maxpages == 0) {
|
|
||||||
- maxpages = 1;
|
|
||||||
- doc->pages = (struct page *) PS_calloc(maxpages, sizeof(struct page));
|
|
||||||
- CHECK_MALLOCED(doc->pages);
|
|
||||||
- }
|
|
||||||
label = ps_gettext(line+length("%%Page:"), &next_char);
|
|
||||||
if (sscanf(next_char, "%u", &thispage) != 1) thispage = 0;
|
|
||||||
if (nextpage == 1) {
|
|
||||||
--
|
|
||||||
1.7.11
|
|
||||||
|
|
@ -1,20 +1,18 @@
|
|||||||
{ fetchurl, stdenv, ghostscript }:
|
{ fetchurl, stdenv, pkgconfig, ghostscript, cairo }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "libspectre-0.2.6";
|
name = "libspectre-0.2.7";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "http://libspectre.freedesktop.org/releases/${name}.tar.gz";
|
url = "http://libspectre.freedesktop.org/releases/${name}.tar.gz";
|
||||||
sha256 = "1lqdmi7vx497pbigpp77064a4463lmihzh44898l101c69i7qqrg";
|
sha256 = "1v63lqc6bhhxwkpa43qmz8phqs8ci4dhzizyy16d3vkb20m846z8";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
# Need `libgs.so'.
|
# Need `libgs.so'.
|
||||||
ghostscript
|
pkgconfig ghostscript cairo /*for tests*/
|
||||||
];
|
];
|
||||||
|
|
||||||
patches = [ ./0001-Fix-a-crash-with-documents-containing-an-invalid-Pag.patch ./0002-Allocate-at-least-1-page-in-doc-pages.patch ];
|
|
||||||
|
|
||||||
doCheck = true;
|
doCheck = true;
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user