reassign 690799 libcairo2 retitle 690799 cairo null pointer dereference with polygon intersections tag 690799 + patch found 690799 1.12.2-2 tag 690799 + pending user [email protected] usertags bsp-2013-01-gb-cambridge thanks
I've implemented a trivial patch to avoid the null pointer deference without pulling in other changes from upstream. I've tested with the PDF from the bug report and I get no problems, no crashes and no apparent rendering issues. The same PDF was tested with libcairo2 1.12.10 from experimental which also showed no crashes and no rendering issues. The patch for this bug is not drawn from the upstream changes, it merely protects against the null pointer deference as there are too many other changes between 1.12.2 and 1.12.10. As this RC bug has been open for some time, I'll be uploading the NMU to unstable and it has already been initially reviewed for an unblock. -- Neil Williams ============= http://www.linux.codehelp.co.uk/
diffstat for cairo-1.12.2 cairo-1.12.2 changelog | 7 +++++++ patches/intersect-dereference.diff | 13 +++++++++++++ patches/series | 1 + 3 files changed, 21 insertions(+) diff -Nru cairo-1.12.2/debian/changelog cairo-1.12.2/debian/changelog --- cairo-1.12.2/debian/changelog 2012-05-17 12:23:08.000000000 +0100 +++ cairo-1.12.2/debian/changelog 2013-01-26 23:22:16.000000000 +0000 @@ -1,3 +1,10 @@ +cairo (1.12.2-2.1) unstable; urgency=low + + * Non-maintainer upload. + * (Closes: #690799) evince crashes with a certain PDF file + + -- Neil Williams <[email protected]> Sat, 26 Jan 2013 23:22:12 +0000 + cairo (1.12.2-2) unstable; urgency=low * debian/libcairo2-udeb.install: diff -Nru cairo-1.12.2/debian/patches/intersect-dereference.diff cairo-1.12.2/debian/patches/intersect-dereference.diff --- cairo-1.12.2/debian/patches/intersect-dereference.diff 1970-01-01 01:00:00.000000000 +0100 +++ cairo-1.12.2/debian/patches/intersect-dereference.diff 2013-01-26 23:09:04.000000000 +0000 @@ -0,0 +1,13 @@ +Index: cairo-1.12.2/src/cairo-polygon-intersect.c +=================================================================== +--- cairo-1.12.2.orig/src/cairo-polygon-intersect.c 2012-04-19 13:17:58.000000000 +0100 ++++ cairo-1.12.2/src/cairo-polygon-intersect.c 2013-01-26 23:08:54.000000000 +0000 +@@ -1231,6 +1231,8 @@ + } while (1); + + right = left->next; ++ if (!right) ++ return; + do { + if unlikely ((right->deferred.other)) + edges_end (right, top, polygon); diff -Nru cairo-1.12.2/debian/patches/series cairo-1.12.2/debian/patches/series --- cairo-1.12.2/debian/patches/series 2012-04-30 13:25:25.000000000 +0100 +++ cairo-1.12.2/debian/patches/series 2013-01-26 23:08:15.000000000 +0000 @@ -3,3 +3,4 @@ 03_export-symbols.patch 05-flto.patch 06_hurd-map-noreserve.patch +intersect-dereference.diff
pgp8yJWMdOMdB.pgp
Description: PGP signature

