forked from pool/cairo
Accepting request 114908 from home:jeff_mahoney:branches:GNOME:Factory
- Fix wrong allocation in _cairo_pdf_surface_add_source_surface (bnc#758422). OBS-URL: https://build.opensuse.org/request/show/114908 OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/cairo?expand=0&rev=57
This commit is contained in:
parent
48719edfc8
commit
12008a91b6
@ -0,0 +1,29 @@
|
||||
From: Jeff Mahoney <jeffm@suse.com>
|
||||
Subject: cairo: Fix wrong allocation in _cairo_pdf_surface_add_source_surface
|
||||
References: bnc#758422
|
||||
|
||||
_cairo_pdf_surface_add_source_surface allocates unique_id with
|
||||
size unique_id_length but then copies surface_key.unique_id_length into it.
|
||||
|
||||
This causes e.g. evince to crash predictably while trying to print with:
|
||||
*** buffer overflow detected ***: evince terminated
|
||||
|
||||
We should be using surface_key.unique_id_length instead.
|
||||
|
||||
Signed-off-by: Jeff Mahoney <jeffm@suse.com>
|
||||
---
|
||||
src/cairo-pdf-surface.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
--- a/src/cairo-pdf-surface.c
|
||||
+++ b/src/cairo-pdf-surface.c
|
||||
@@ -1379,7 +1379,7 @@ _cairo_pdf_surface_add_source_surface (c
|
||||
goto release_source;
|
||||
|
||||
if (surface_key.unique_id && surface_key.unique_id_length > 0) {
|
||||
- unique_id = malloc (unique_id_length);
|
||||
+ unique_id = malloc (surface_key.unique_id_length);
|
||||
if (unique_id == NULL) {
|
||||
status = _cairo_error (CAIRO_STATUS_NO_MEMORY);
|
||||
goto release_source;
|
||||
|
@ -1,3 +1,8 @@
|
||||
-------------------------------------------------------------------
|
||||
Sat Apr 21 15:34:36 UTC 2012 - jeffm@suse.com
|
||||
|
||||
- Fix wrong allocation in _cairo_pdf_surface_add_source_surface (bnc#758422).
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Mar 26 18:57:45 UTC 2012 - zaitor@opensuse.org
|
||||
|
||||
|
@ -30,6 +30,7 @@ Source: http://cairographics.org/releases/%{name}-%{version}.tar.gz
|
||||
Source99: baselibs.conf
|
||||
# PATCH-FIX-UPSTREAM cairo-modules-no-version.patch dimstar@opensuse.org -- Build modules with -module -avoid-version.
|
||||
Patch0: cairo-modules-no-version.patch
|
||||
Patch1: cairo-fix-wrong-allocation-in-cairo_pdf_surface_add_source_surface
|
||||
# These libraries are needed only for tests.
|
||||
# Do not enable tests in build systems, it causes build loop!
|
||||
#BuildRequires: librsvg-devel poppler-devel
|
||||
@ -146,6 +147,7 @@ cairo.
|
||||
%prep
|
||||
%setup -q
|
||||
%patch0 -p1
|
||||
%patch1 -p1
|
||||
|
||||
%build
|
||||
NOCONFIGURE=1 ./autogen.sh
|
||||
|
Loading…
Reference in New Issue
Block a user