Bug#321603: [Gimp-print-devel] [patch] segfault for R800/R1800 and matte paper
From: Roger Leigh <rleigh@whinlatter.ukfsn.org>
Date: Sun, 14 Aug 2005 10:39:27 +0100
tags 321603 + upstream
thanks
The following patch, submitted to the Debian BTS by Dan Torop, fixes
several causes of segfaults in adjust_print_quality(). This does
additional checking to make sure a NULL pointer is not dereferenced,
and adds some missing paper types for the R800 to escp2-papers.c.
The full description of the problem may be seen here:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=321603
I have re-done the patch so it applies to current CVS (it was done
against gutenprint-20050801 / 1.77), and I've also made the adjustment
you made in 1.78 to the new entries. Is this OK to commit?
Go ahead.
Index: src/main/escp2-papers.c
===================================================================
RCS file: /cvsroot/gimp-print/print/src/main/escp2-papers.c,v
retrieving revision 1.79
diff -u -r1.79 escp2-papers.c
--- src/main/escp2-papers.c 13 Aug 2005 20:29:29 -0000 1.79
+++ src/main/escp2-papers.c 14 Aug 2005 09:37:59 -0000
@@ -786,6 +786,10 @@
r800_glossy_hue_adj, r800_glossy_lum_adj, r800_glossy_sat_adj },
{ "BackFilm", 0.83, .75, 1, .02, 1.4, .882, 1, .300, 1, 1, 1.0,
r800_glossy_hue_adj, r800_glossy_lum_adj, r800_glossy_sat_adj },
+ { "Matte", 0.92, .4, 1, .02, 1.4, .882, 1, .300, 1, 1, 1.0,
+ r800_glossy_hue_adj, r800_glossy_lum_adj, r800_glossy_sat_adj },
+ { "MatteHeavy", 0.92, .4, 1, .02, 1.4, .882, 1, .300, 1, 1, 1.0,
+ r800_glossy_hue_adj, r800_glossy_lum_adj, r800_glossy_sat_adj },
{ "Glossy", 0.92, 0.4, 1, .02, 1.4, .882, 1, .300, 1, 1, 1.0,
r800_glossy_hue_adj, r800_glossy_lum_adj, r800_glossy_sat_adj },
{ "GlossyHeavy", 0.92, 0.4, 1, .02, 1.4, .882, 1, .300, 1, 1, 1.0,
@@ -806,6 +810,8 @@
r800_glossy_hue_adj, r800_glossy_lum_adj, r800_glossy_sat_adj },
{ "WaterColorRadiant", 0.92, .4, 1, .02, 1.4, .882, 1, .300, 1, 1, 1.0,
r800_glossy_hue_adj, r800_glossy_lum_adj, r800_glossy_sat_adj },
+ { "ArchivalMatte", 0.92, .4, 1, .02, 1.4, .882, 1, .300, 1, 1, 1.0,
+ r800_glossy_hue_adj, r800_glossy_lum_adj, r800_glossy_sat_adj },
{ "GlossyPaper", 0.83, 1.0, 1, .02, 1.4, .882, 1, .300, 1, 1, 1.0,
r800_glossy_hue_adj, r800_glossy_lum_adj, r800_glossy_sat_adj },
{ "Ilford", 0.83, 1.0, 1, .02, 1.4, .882, 1, .300, 1, 1, 1.0,
@@ -850,6 +856,8 @@
r800_glossy_hue_adj, r800_glossy_lum_adj, r800_glossy_sat_adj },
{ "Luster", 0.72, .8, .5, .025, .5, .882, 1, .300, .6, 1, 0.92,
r800_glossy_hue_adj, r800_glossy_lum_adj, r800_glossy_sat_adj },
+ { "ArchivalMatte", 0.92, 0.4, .5, .025, .5, .882, 1, .300, .6, 1, 1.0,
+ r800_matte_hue_adj, r800_matte_lum_adj, r800_matte_sat_adj },
{ "WaterColorRadiant", 0.92, 0.4, .5, .025, .5, .882, 1, .300, .6, 1, 1.0,
r800_matte_hue_adj, r800_matte_lum_adj, r800_matte_sat_adj },
{ "GlossyPaper", 0.83, 0.5, .5, .025, .5, .882, 1, .300, .6, 1, 1.0,
Index: src/main/print-escp2.c
===================================================================
RCS file: /cvsroot/gimp-print/print/src/main/print-escp2.c,v
retrieving revision 1.342
diff -u -r1.342 print-escp2.c
--- src/main/print-escp2.c 14 Aug 2005 01:27:44 -0000 1.342
+++ src/main/print-escp2.c 14 Aug 2005 09:38:02 -0000
@@ -2141,7 +2141,7 @@
if (!stp_check_curve_parameter(v, "HueMap", STP_PARAMETER_ACTIVE) &&
- pt->hue_adjustment)
+ pt && pt->hue_adjustment)
{
adjustment = stp_curve_create_from_string(pt->hue_adjustment);
stp_set_curve_parameter(v, "HueMap", adjustment);
@@ -2149,7 +2149,7 @@
stp_curve_destroy(adjustment);
}
if (!stp_check_curve_parameter(v, "SatMap", STP_PARAMETER_ACTIVE) &&
- pt->sat_adjustment)
+ pt && pt->sat_adjustment)
{
adjustment = stp_curve_create_from_string(pt->sat_adjustment);
stp_set_curve_parameter(v, "SatMap", adjustment);
@@ -2157,7 +2157,7 @@
stp_curve_destroy(adjustment);
}
if (!stp_check_curve_parameter(v, "LumMap", STP_PARAMETER_ACTIVE) &&
- pt->lum_adjustment)
+ pt && pt->lum_adjustment)
{
adjustment = stp_curve_create_from_string(pt->lum_adjustment);
stp_set_curve_parameter(v, "LumMap", adjustment);
--
Roger Leigh
Printing on GNU/Linux? http://gimp-print.sourceforge.net/
Debian GNU/Linux http://www.debian.org/
GPG Public Key: 0x25BFB848. Please sign and encrypt your mail.
-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
_______________________________________________
Gimp-print-devel mailing list
Gimp-print-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/gimp-print-devel
Reply to: