aboutsummaryrefslogtreecommitdiffstats
path: root/main/inkscape/50-poppler-API.patch
diff options
context:
space:
mode:
Diffstat (limited to 'main/inkscape/50-poppler-API.patch')
-rw-r--r--main/inkscape/50-poppler-API.patch97
1 files changed, 97 insertions, 0 deletions
diff --git a/main/inkscape/50-poppler-API.patch b/main/inkscape/50-poppler-API.patch
new file mode 100644
index 0000000000..b97969de1d
--- /dev/null
+++ b/main/inkscape/50-poppler-API.patch
@@ -0,0 +1,97 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 50-poppler-API.patch.dpatch by Kees Cook <kees@ubuntu.com>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: https://bugs.launchpad.net/inkscape/+bug/487038
+
+@DPATCH@
+diff -urNad inkscape~/src/extension/internal/pdfinput/pdf-parser.cpp inkscape/src/extension/internal/pdfinput/pdf-parser.cpp
+--- inkscape~/src/extension/internal/pdfinput/pdf-parser.cpp 2009-10-10 12:17:47.000000000 -0700
++++ inkscape/src/extension/internal/pdfinput/pdf-parser.cpp 2009-12-23 22:34:13.000000000 -0800
+@@ -809,7 +809,7 @@
+ blendingColorSpace = NULL;
+ isolated = knockout = gFalse;
+ if (!obj4.dictLookup(const_cast<char*>("CS"), &obj5)->isNull()) {
+- blendingColorSpace = GfxColorSpace::parse(&obj5);
++ blendingColorSpace = GfxColorSpace::parse(&obj5, NULL);
+ }
+ obj5.free();
+ if (obj4.dictLookup(const_cast<char*>("I"), &obj5)->isBool()) {
+@@ -1009,9 +1009,9 @@
+ state->setFillPattern(NULL);
+ res->lookupColorSpace(args[0].getName(), &obj);
+ if (obj.isNull()) {
+- colorSpace = GfxColorSpace::parse(&args[0]);
++ colorSpace = GfxColorSpace::parse(&args[0], NULL);
+ } else {
+- colorSpace = GfxColorSpace::parse(&obj);
++ colorSpace = GfxColorSpace::parse(&obj, NULL);
+ }
+ obj.free();
+ if (colorSpace) {
+@@ -1032,9 +1032,9 @@
+ state->setStrokePattern(NULL);
+ res->lookupColorSpace(args[0].getName(), &obj);
+ if (obj.isNull()) {
+- colorSpace = GfxColorSpace::parse(&args[0]);
++ colorSpace = GfxColorSpace::parse(&args[0], NULL);
+ } else {
+- colorSpace = GfxColorSpace::parse(&obj);
++ colorSpace = GfxColorSpace::parse(&obj, NULL);
+ }
+ obj.free();
+ if (colorSpace) {
+@@ -1101,7 +1101,7 @@
+ builder->updateStyle(state);
+ }
+ if (args[numArgs-1].isName() &&
+- (pattern = res->lookupPattern(args[numArgs-1].getName()))) {
++ (pattern = res->lookupPattern(args[numArgs-1].getName(), NULL))) {
+ state->setFillPattern(pattern);
+ builder->updateStyle(state);
+ }
+@@ -1145,7 +1145,7 @@
+ builder->updateStyle(state);
+ }
+ if (args[numArgs-1].isName() &&
+- (pattern = res->lookupPattern(args[numArgs-1].getName()))) {
++ (pattern = res->lookupPattern(args[numArgs-1].getName(), NULL))) {
+ state->setStrokePattern(pattern);
+ builder->updateStyle(state);
+ }
+@@ -1543,7 +1543,7 @@
+ double *matrix = NULL;
+ GBool savedState = gFalse;
+
+- if (!(shading = res->lookupShading(args[0].getName()))) {
++ if (!(shading = res->lookupShading(args[0].getName(), NULL))) {
+ return;
+ }
+
+@@ -2507,7 +2507,7 @@
+ }
+ }
+ if (!obj1.isNull()) {
+- colorSpace = GfxColorSpace::parse(&obj1);
++ colorSpace = GfxColorSpace::parse(&obj1, NULL);
+ } else if (csMode == streamCSDeviceGray) {
+ colorSpace = new GfxDeviceGrayColorSpace();
+ } else if (csMode == streamCSDeviceRGB) {
+@@ -2592,7 +2592,7 @@
+ obj2.free();
+ }
+ }
+- maskColorSpace = GfxColorSpace::parse(&obj1);
++ maskColorSpace = GfxColorSpace::parse(&obj1, NULL);
+ obj1.free();
+ if (!maskColorSpace || maskColorSpace->getMode() != csDeviceGray) {
+ goto err1;
+@@ -2767,7 +2767,7 @@
+ if (obj1.dictLookup(const_cast<char*>("S"), &obj2)->isName(const_cast<char*>("Transparency"))) {
+ transpGroup = gTrue;
+ if (!obj1.dictLookup(const_cast<char*>("CS"), &obj3)->isNull()) {
+- blendingColorSpace = GfxColorSpace::parse(&obj3);
++ blendingColorSpace = GfxColorSpace::parse(&obj3, NULL);
+ }
+ obj3.free();
+ if (obj1.dictLookup(const_cast<char*>("I"), &obj3)->isBool()) {