File cups-1.3.9-texttops-CVE-2010-0542.patch of Package cups

--- filter/texttops.c.orig	2008-10-09 22:12:03.000000000 +0200
+++ filter/texttops.c	2010-11-05 10:57:29.000000000 +0100
@@ -176,13 +176,25 @@ WriteProlog(const char *title,		/* I - T
   if (SizeColumns <= 0 || SizeColumns > 32767 ||
       SizeLines <= 0 || SizeLines > 32767)
   {
-    _cupsLangPrintf(stderr, _("ERROR: Unable to print %dx%d text page!\n"),
+    _cupsLangPrintf(stderr, _("ERROR: Unable to print %dx%d text page.\n"),
+                    SizeColumns, SizeLines);
+    exit(1);
+  }
+
+  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);
   }
 
-  Page    = calloc(sizeof(lchar_t *), SizeLines);
-  Page[0] = calloc(sizeof(lchar_t), SizeColumns * SizeLines);
   for (i = 1; i < SizeLines; i ++)
     Page[i] = Page[0] + i * SizeColumns;
 
openSUSE Build Service is sponsored by