summaryrefslogtreecommitdiffstats
path: root/patches/source/cups/cups-1.3.x.CVE-2010-0542.diff
diff options
context:
space:
mode:
Diffstat (limited to 'patches/source/cups/cups-1.3.x.CVE-2010-0542.diff')
-rw-r--r--patches/source/cups/cups-1.3.x.CVE-2010-0542.diff25
1 files changed, 25 insertions, 0 deletions
diff --git a/patches/source/cups/cups-1.3.x.CVE-2010-0542.diff b/patches/source/cups/cups-1.3.x.CVE-2010-0542.diff
new file mode 100644
index 000000000..6c234f03d
--- /dev/null
+++ b/patches/source/cups/cups-1.3.x.CVE-2010-0542.diff
@@ -0,0 +1,25 @@
+--- ./filter/texttops.c.orig 2008-10-09 15:12:03.000000000 -0500
++++ ./filter/texttops.c 2010-11-27 12:42:33.000000000 -0600
+@@ -181,8 +181,20 @@
+ exit(1);
+ }
+
+- Page = calloc(sizeof(lchar_t *), SizeLines);
+- Page[0] = calloc(sizeof(lchar_t), SizeColumns * SizeLines);
++ if ((Page = calloc(sizeof(lchar_t *), SizeLines)) == NULL)
++ {
++ _cupsLangPrintf(stderr, _("ERROR: Unable to print %dx%d text page.\n"),
++ SizeColumns, SizeLines);
++ exit(1);
++ }
++
++ if ((Page[0] = calloc(sizeof(lchar_t), SizeColumns * SizeLines)) == NULL)
++ {
++ _cupsLangPrintf(stderr, _("ERROR: Unable to print %dx%d text page.\n"),
++ SizeColumns, SizeLines);
++ exit(1);
++ }
++
+ for (i = 1; i < SizeLines; i ++)
+ Page[i] = Page[0] + i * SizeColumns;
+