[packages/cinepaint] - added format patch (allows to build with -Werror=format-security, fixes some string bugs, many p

qboosh qboosh at pld-linux.org
Sun Mar 31 12:39:55 CEST 2013


commit c214b31f849193837aa8931e7365653c71139246
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date:   Sun Mar 31 12:39:44 2013 +0200

    - added format patch (allows to build with -Werror=format-security, fixes some string bugs,
      many problably left - string handling is ugly in many places)
    - added include patch (missing include required by gcc 4.7.x)
    - added python patch (workaround for libpython detection in lib64 systems)
    - BR: fltk-gl-devel (required by icc_examin plugin)

 cinepaint-format.patch  | 736 ++++++++++++++++++++++++++++++++++++++++++++++++
 cinepaint-include.patch |  10 +
 cinepaint-python.patch  |  11 +
 cinepaint.spec          |   7 +
 4 files changed, 764 insertions(+)
---
diff --git a/cinepaint.spec b/cinepaint.spec
index 455276e..22bfb05 100644
--- a/cinepaint.spec
+++ b/cinepaint.spec
@@ -19,12 +19,16 @@ Patch3:		%{name}-link.patch
 Patch4:		%{name}-paths.patch
 Patch5:		%{name}-libdir.patch
 Patch6:		%{name}-oyranos.patch
+Patch7:		%{name}-format.patch
+Patch8:		%{name}-include.patch
+Patch9:		%{name}-python.patch
 URL:		http://www.cinepaint.org/
 BuildRequires:	OpenEXR-devel >= 1.0.0
 BuildRequires:	autoconf
 BuildRequires:	automake
 BuildRequires:	flex
 BuildRequires:	fltk-devel
+BuildRequires:	fltk-gl-devel
 %if %{with gtk1}
 BuildRequires:	glib-devel
 BuildRequires:	gtk+-devel >= 1.2.8
@@ -136,6 +140,9 @@ Wtyczka do drukowania dla CinePainta.
 %patch4 -p1
 %patch5 -p1
 %patch6 -p1
+%patch7 -p1
+%patch8 -p1
+%patch9 -p1
 
 # dead symlinks
 %{__rm} config.guess config.sub py-compile
diff --git a/cinepaint-format.patch b/cinepaint-format.patch
new file mode 100644
index 0000000..b901093
--- /dev/null
+++ b/cinepaint-format.patch
@@ -0,0 +1,736 @@
+--- cinepaint/lib/wire/datadir.c.orig	2006-10-04 20:10:06.000000000 +0200
++++ cinepaint/lib/wire/datadir.c	2013-03-30 13:43:18.295745054 +0100
+@@ -176,7 +176,7 @@
+     char *text = (char*) calloc( sizeof(char), len );
+     text[0] = 0;
+     /* whats the path for the executeable ? */
+-    snprintf (text, len-1, filename);
++    snprintf (text, len-1, "%s", filename);
+ 
+     if(text[0] == '~')
+     {
+@@ -197,7 +197,7 @@
+       snprintf( text, 1024, "which %s", filename);
+       pp = popen( text, "r" );
+       if (pp) {
+-        if (fscanf (pp, "%s", text) != 1)
++        if (fscanf (pp, "%1023s", text) != 1)
+         {
+           pclose (pp);
+           printf( "no executeable path found\n" );
+@@ -208,10 +208,7 @@
+ 
+       if(text[0] != DIR_SEPARATOR_C)
+       {
+-        char* cn = (char*) calloc(2048, sizeof(char));
+-        sprintf (cn, "%s%s%s", getenv("PWD"), DIR_SEPARATOR, filename);
+-        sprintf (text, cn);
+-        if(cn) free(cn);
++        snprintf (text, 1024, "%s%s%s", getenv("PWD"), DIR_SEPARATOR, filename);
+       }
+     }
+ 
+--- cinepaint/plug-ins/bracketing_to_hdr/gui/gui_rest.cpp.orig	2009-01-16 17:06:21.000000000 +0100
++++ cinepaint/plug-ins/bracketing_to_hdr/gui/gui_rest.cpp	2013-03-30 13:59:50.775286775 +0100
+@@ -138,7 +138,7 @@
+     {
+       char txt[256];
+       snprintf (txt, 256, _("A file \"%s\" already exists."), fl_filename_name(fname));
+-      switch (fl_choice (txt, _("Cancel"), _("Overwrite"), _("Overwrite all")))
++      switch (fl_choice ("%s", _("Cancel"), _("Overwrite"), _("Overwrite all"), txt))
+       {
+         case 2:  overwrite_warning_ = false; break;
+         case 1:  break;
+--- cinepaint/plug-ins/bracketing_to_hdr/jhead/exif.c.orig	2006-12-28 09:50:59.000000000 +0100
++++ cinepaint/plug-ins/bracketing_to_hdr/jhead/exif.c	2013-03-30 14:05:14.796823491 +0100
+@@ -416,7 +416,7 @@
+             }
+         }
+         if (DumpExifMap){
+-            printf("Map: %05d-%05d: Directory\n",DirStart-OffsetBase, DirEnd+4-OffsetBase);
++            printf("Map: %05d-%05d: Directory\n",(int)(DirStart-OffsetBase), (int)(DirEnd+4-OffsetBase));
+         }
+ 
+ 
+@@ -485,12 +485,12 @@
+             // Show tag name
+             for (a=0;;a++){
+                 if (a >= TAG_TABLE_SIZE){
+-                    printf(IndentString);
++                    fputs(IndentString, stdout);
+                     printf("    Unknown Tag %04x Value = ", Tag);
+                     break;
+                 }
+                 if (TagTable[a].Tag == Tag){
+-                    printf(IndentString);
++                    fputs(IndentString, stdout);
+                     printf("    %s = ",TagTable[a].Desc);
+                     break;
+                 }
+--- cinepaint/plug-ins/bracketing_to_hdr/bracketing_to_hdr.cpp.orig	2007-03-30 13:58:40.000000000 +0200
++++ cinepaint/plug-ins/bracketing_to_hdr/bracketing_to_hdr.cpp	2013-03-30 14:10:14.683943826 +0100
+@@ -190,7 +190,7 @@
+   
+   if (strcmp (name, PLUGIN_NAME) == 0)
+     {
+-      sprintf (vals.name, getenv("PWD"));     // default for `vals'
++      snprintf (vals.name, sizeof(vals.name), "%s", getenv("PWD"));     // default for `vals'
+     
+       gimp_get_data (PLUGIN_NAME, &vals);     // get data from last call
+       //printf ("nach gimp_get_data(): vals = \"%s\"\n", vals.name);
+@@ -412,7 +412,7 @@
+             {
+               snprintf (tmp, 256, "\"%s\":  %s\n\n%s",
+                   fl_filename_name(fname), str_16bitdata, str_downsample);
+-              int choice = fl_choice (tmp, _("Cancel"), _("Downsample"), _("No more warn"));
++              int choice = fl_choice ("%s", _("Cancel"), _("Downsample"), _("No more warn"), tmp);
+               if (choice == 0)        // Cancel
+                 {      
+                   ok = false; 
+--- cinepaint/plug-ins/collect/collect.cpp.orig	2011-11-28 07:58:21.000000000 +0100
++++ cinepaint/plug-ins/collect/collect.cpp	2013-03-30 14:11:46.771504077 +0100
+@@ -151,7 +151,7 @@
+     INIT_I18N_UI();
+     INIT_FLTK1_CODESET();
+ 
+-    sprintf (vals.name, getenv("PWD"));
++    snprintf (vals.name, sizeof(vals.name), "%s", getenv("PWD"));
+     gimp_get_data ("collect", &vals);
+ 
+     switch (run_mode)
+@@ -362,7 +362,7 @@
+             gimp_image_resize (image_ID, max_w, max_h, 0,0); DBG
+           }
+ 
+-          sprintf (vals.name, fc->value(1));
++          snprintf (vals.name, sizeof(vals.name), "%s", fc->value(1));
+           char* ptr = strrchr(vals.name, '/');
+           *ptr = 0;
+ 
+--- cinepaint/plug-ins/dicom/dicom.c.orig	2004-12-05 00:41:52.000000000 +0100
++++ cinepaint/plug-ins/dicom/dicom.c	2013-03-30 14:19:40.876599344 +0100
+@@ -346,9 +346,7 @@
+ 
+   if (fd == -1)
+     {
+-      temp = g_strdup_printf(_("Dicom: Can't open file %s."), filename);
+-      g_message (temp);
+-      g_free(temp);
++      g_message (_("Dicom: Can't open file %s."), filename);
+       return -1;
+     }
+ 
+@@ -361,18 +359,14 @@
+   /* Check for unsupported formats */
+   if (g_strncasecmp(buf, "PAPYRUS", 7) == 0)
+     {
+-      temp = g_strdup_printf(_("Dicom: %s is a PAPYRUS DICOM file which this plug-in does not support yet."), filename);
+-      g_message (temp);
+-      g_free(temp);
++      g_message (_("Dicom: %s is a PAPYRUS DICOM file which this plug-in does not support yet."), filename);
+       return -1;
+     }
+ 
+   read(fd, buf, 4); /* This should be dicom */
+   if (g_strncasecmp(buf,"DICM",4) != 0)
+     {
+-      temp = g_strdup_printf(_("Dicom: %s is not a DICOM file."), filename);
+-      g_message (temp);
+-      g_free(temp);
++      g_message (_("Dicom: %s is not a DICOM file."), filename);
+       return -1;
+     }
+ 
+--- cinepaint/plug-ins/icc_examin/icc_examin/icc_gl.cpp.orig	2013-03-30 14:00:26.243581158 +0100
++++ cinepaint/plug-ins/icc_examin/icc_examin/icc_gl.cpp	2013-03-30 20:51:37.631911896 +0100
+@@ -845,7 +845,7 @@
+     glRotated (90,0.0,0,1.0);
+       glMatrixMode(GL_MODELVIEW);
+       glTranslated((0.0-0.3),(0.0-0.1),(0.0-0.05));
+-        sprintf (&text[0],_("0,0,0"));
++        strcpy (&text[0],_("0,0,0"));
+         ZeichneText(font, text)
+       glTranslated(0.3,0.1,0.05);
+     glRotated (-90,0.0,0,1.0);
+@@ -959,7 +959,7 @@
+       if (von_farb_namen_.size())
+       {
+         ptr = (char*) von_farb_namen_[0].c_str();
+-        sprintf (&text[0], ptr);
++        strcpy (&text[0], ptr);
+         glRasterPos3d (0, .5+ueber, 0);
+         ZeichneOText(ortho_font, 1, text)
+       }
+@@ -968,7 +968,7 @@
+       if (von_farb_namen_.size())
+       {
+         ptr = (char*) von_farb_namen_[1].c_str();
+-        sprintf (&text[0], ptr);
++        strcpy (&text[0], ptr);
+         if (von_farb_namen_.size() &&
+             von_farb_namen_[1] == _("CIE *a"))
+           glRasterPos3d (.0, -.5, a_darstellungs_breite/2.+ueber);
+@@ -981,7 +981,7 @@
+       if (von_farb_namen_.size())
+       {
+         ptr = (char*) von_farb_namen_[2].c_str();
+-        sprintf (&text[0], ptr);
++        strcpy (&text[0], ptr);
+         if (von_farb_namen_.size() &&
+             von_farb_namen_[2] == _("CIE *b"))
+           glRasterPos3d (b_darstellungs_breite/2.+ueber, -.5, .0);
+--- cinepaint/plug-ins/icc_examin/icc_examin/icc_helfer.cpp.orig	2008-10-24 21:05:00.000000000 +0200
++++ cinepaint/plug-ins/icc_examin/icc_examin/icc_helfer.cpp	2013-03-30 20:56:50.586319147 +0100
+@@ -1201,7 +1201,7 @@
+     char *text = (char*) calloc( sizeof(char), len );
+     text[0] = 0;
+     /* whats the path for the executeable ? */
+-    snprintf (text, len-1, filename);
++    snprintf (text, len-1, "%s", filename);
+ 
+     if(text[0] == '~')
+     {
+@@ -1242,10 +1242,7 @@
+       if (text[0] != ICC_DIR_SEPARATOR_C)
+ #endif
+       {
+-        char* cn = (char*) calloc(2048, sizeof(char));
+-        sprintf (cn, "%s%s%s", getenv("PWD"), ICC_DIR_SEPARATOR, filename);
+-        sprintf (text, cn);
+-        if(cn) free(cn); 
++        snprintf (text, 1024, "%s%s%s", getenv("PWD"), ICC_DIR_SEPARATOR, filename);
+       }
+     }
+ 
+@@ -1495,9 +1492,9 @@
+   char trenner [16];
+ 
+   if( trennzeichen ) { DBG_PARSER
+-    sprintf (trenner, trennzeichen );
++    strcpy (trenner, trennzeichen );
+   } else {
+-    sprintf (trenner, leer_zeichen );
++    strcpy (trenner, leer_zeichen );
+     suchenErsetzen( zeile, ",", ".", 0 );
+   }
+ 
+--- cinepaint/plug-ins/icc_examin/icc_examin/icc_profile.cpp.orig	2007-11-09 16:10:45.000000000 +0100
++++ cinepaint/plug-ins/icc_examin/icc_examin/icc_profile.cpp	2013-03-30 21:02:49.252840010 +0100
+@@ -696,7 +696,7 @@
+     if(texte.size())
+     {
+       text = (char*) calloc( sizeof(char), strlen(texte[0].c_str()) * 4 );
+-      sprintf( text, texte[0].c_str() );
++      strcpy( text, texte[0].c_str() );
+     }
+   }
+ 
+--- cinepaint/plug-ins/icc_examin/icc_examin/icc_vrml_parser.cpp.orig	2007-11-09 16:10:46.000000000 +0100
++++ cinepaint/plug-ins/icc_examin/icc_examin/icc_vrml_parser.cpp	2013-03-30 21:33:44.351494954 +0100
+@@ -91,7 +91,7 @@
+   std::vector<ZifferWort> werte;        // intermediate return value
+   char trennzeichen[12];                // to be used separating signs
+   trennzeichen[0] = ',';
+-  sprintf(&trennzeichen[1], leer_zeichen);
++  strcpy(&trennzeichen[1], leer_zeichen);
+   const bool anfuehrungstriche = false; // set no quotation marks
+   unsigned int dimensionen;             // number of belonging values
+   int achse;                            // selected value from dimensionen
+--- cinepaint/plug-ins/icc_examin/icc_examin/icc_betrachter.cxx.orig	2008-05-22 10:46:30.000000000 +0200
++++ cinepaint/plug-ins/icc_examin/icc_examin/icc_betrachter.cxx	2013-03-30 21:34:41.734136993 +0100
+@@ -133,7 +133,7 @@
+   icc_examin->icc_betrachter->tag_nummer = _tag;
+ 
+ // = profile.profil()->printTagInfo(icc_examin->icc_betrachter->tag_nummer);
+-    sprintf (&typ[0], profile.profil()->printTagInfo(icc_examin->icc_betrachter->tag_nummer)[1].c_str());
++    strcpy (&typ[0], profile.profil()->printTagInfo(icc_examin->icc_betrachter->tag_nummer)[1].c_str());
+ 
+     DBG_PROG_V( profile.profil()->printTagInfo(icc_examin->icc_betrachter->tag_nummer)[1].c_str() )
+ 
+--- cinepaint/plug-ins/icc_examin/icc_examin/my_file_chooser2.cxx.orig	2007-11-09 16:10:46.000000000 +0100
++++ cinepaint/plug-ins/icc_examin/icc_examin/my_file_chooser2.cxx	2013-03-30 22:33:17.075667647 +0100
+@@ -564,7 +564,7 @@
+       }
+     } else {
+       // File doesn't exist, so beep at and alert the user...
+-      fl_alert(existing_file_label);
++      fl_alert("%s", existing_file_label);
+     }
+   }
+   else if (Fl::event_key() != FL_Delete &&
+@@ -752,7 +752,7 @@
+ 
+ 
+   // Get a directory name from the user
+-  if ((dir = fl_input(new_directory_label, NULL)) == NULL)
++  if ((dir = fl_input("%s", NULL, new_directory_label)) == NULL)
+     return;
+ 
+   // Make it relative to the current directory as needed...
+@@ -871,7 +871,7 @@
+   item = showChoice->text(showChoice->value());
+ 
+   if (strcmp(item, custom_filter_label) == 0) {
+-    if ((item = fl_input(custom_filter_label, pattern_)) != NULL) {
++    if ((item = fl_input("%s", pattern_, custom_filter_label)) != NULL) {
+       strlcpy(pattern_, item, sizeof(pattern_));
+ 
+       quote_pathname(temp, item, sizeof(temp));
+--- cinepaint/plug-ins/icc_examin/icc_examin/fl_i18n/fl_i18n.cxx.orig	2009-01-16 17:06:21.000000000 +0100
++++ cinepaint/plug-ins/icc_examin/icc_examin/fl_i18n/fl_i18n.cxx	2013-03-30 22:39:36.499655453 +0100
+@@ -110,7 +110,7 @@
+       if(pos != 0)
+       {
+         /* 1 a. select an appropriate charset (needed for non UTF-8 fltk/gtk1)*/
+-        sprintf (codeset, codeset_); DBG_PROG_V( locale <<" "<< strrchr(locale,'.'))
++        strcpy (codeset, codeset_); DBG_PROG_V( locale <<" "<< strrchr(locale,'.'))
+  
+           /* merge charset with locale string */
+         if(set_codeset != FL_I18N_SETCODESET_NO)
+@@ -157,7 +157,7 @@
+             break;
+         default: break;
+         }
+-        if(ptr) snprintf( locale, TEXTLEN, ptr); DBG_PROG_V( locale )
++        if(ptr) snprintf( locale, TEXTLEN, "%s", ptr); DBG_PROG_V( locale )
+         }
+       }
+     }
+@@ -272,7 +272,7 @@
+   temp = setlocale (lc, "");
+   char *tmp = temp ? icc_strdup_m(temp) : NULL;
+   if(tmp) {
+-    snprintf(locale,TEXTLEN, tmp);
++    snprintf(locale,TEXTLEN, "%s", tmp);
+     DBG_PROG_V( locale )
+   }
+   /*if(!set_codeset)
+@@ -282,7 +282,7 @@
+ 
+     // .. or take locale info from environment
+   if(!strlen(locale) && getenv("LANG"))
+-    snprintf(locale,TEXTLEN, getenv("LANG"));
++    snprintf(locale,TEXTLEN, "%s", getenv("LANG"));
+ # endif
+ 
+ 
+--- cinepaint/plug-ins/icc_examin/icc_examin/icc_cinepaint_intern.cpp.orig	2007-11-29 10:55:21.000000000 +0100
++++ cinepaint/plug-ins/icc_examin/icc_examin/icc_cinepaint_intern.cpp	2013-03-30 22:42:22.957304081 +0100
+@@ -345,7 +345,7 @@
+   if(gimp_image_has_icc_profile(image_ID, typ)) {
+       mem_profile = gimp_image_get_icc_profile_by_mem(image_ID, &size, typ);
+   } else {
+-    g_message (_("No profil assigned to image."));
++    g_message ("%s", _("No profil assigned to image."));
+     return -1;
+   }
+ 
+@@ -380,7 +380,7 @@
+ 
+     remove( tname.c_str() );
+   } else
+-    g_message (_("Profil not written."));
++    g_message ("%s", _("Profil not written."));
+ 
+   return image_ID;
+ }
+@@ -450,9 +450,9 @@
+   ncl2->anzahl = icValue((icUInt32Number)farben_n);
+   ncl2->koord  = icValue((icUInt32Number)farb_kanaele);
+   if(vorname && strlen(vorname) < 32)
+-    sprintf(ncl2->vorname, vorname);
++    strcpy(ncl2->vorname, vorname);
+   if(nachname && strlen(nachname) < 32)
+-    sprintf(ncl2->nachname, nachname);
++    strcpy(ncl2->nachname, nachname);
+ 
+   DBG_PROG_S( farben_n <<" "<< pcsfarbe.size() )
+ 
+@@ -470,7 +470,7 @@
+                                    (geraetefarbe[farb_kanaele*i+j]*65535.0));
+     // TODO mark pointer here
+     if (name.size() && name[i].size() < 32)
+-      sprintf(f->name, name[i].c_str());
++      strcpy(f->name, name[i].c_str());
+ 
+     #ifdef DEBUG_
+     if( 10 < i && i < 20 )
+@@ -985,7 +985,7 @@
+ {
+   // has the profile name changed?
+   if (!gimp_image_has_icc_profile(image_ID, ICC_IMAGE_PROFILE)) {
+-    g_message (_("No profil assigned to image."));
++    g_message ("%s", _("No profil assigned to image."));
+     return 1;
+   }
+ 
+@@ -1040,7 +1040,7 @@
+     hp   = cmsOpenProfileFromMem( image_profile, size );
+     farb_kanaele = _cmsChannelsOf( cmsGetColorSpace( hp ) );
+     if(farb_kanaele > layer->samplesperpixel) {
+-      g_message (_("Wrong profil assigned to image."));
++      g_message ("%s", _("Wrong profil assigned to image."));
+       return 1;
+     }
+     layer->status |= PROFIL_NEU(1);
+@@ -1252,7 +1252,7 @@
+   image_ID = gimp_display_get_image_id( layer.display_ID);
+   gint32 drawable_ID = gimp_image_get_active_layer (image_ID);
+   if(drawable_ID < 0)
+-    g_message(_("No active drawable found."));
++    g_message("%s", _("No active drawable found."));
+ 
+   // run
+   {
+@@ -1558,7 +1558,7 @@
+                        min_y = y;
+                      }
+                    break;
+-              default: g_message (_("What kind of image is this?")); break;
++              default: g_message ("%s", _("What kind of image is this?")); break;
+             }
+           }
+         }
+--- cinepaint/plug-ins/openexr/openexr.cxx.orig	2007-04-20 10:02:38.000000000 +0200
++++ cinepaint/plug-ins/openexr/openexr.cxx	2013-03-31 07:52:25.871488856 +0200
+@@ -563,7 +563,7 @@
+ 	if (pixels)
+ 	    g_free (pixels);
+ 
+-	g_print (e.what ());
++	g_print ("%s", e.what ());
+ 	gimp_quit ();
+     }
+ }
+--- cinepaint/plug-ins/pdf/pdf.cpp.orig	2013-03-31 08:14:29.802506316 +0200
++++ cinepaint/plug-ins/pdf/pdf.cpp	2013-03-31 08:21:50.856147492 +0200
+@@ -215,9 +215,9 @@
+     INIT_I18N_UI();
+     INIT_FLTK1_CODESET();
+ 
+-    sprintf (vals.name, getenv("PWD"));
++    snprintf (vals.name, sizeof(vals.name), "%s", getenv("PWD"));
+ 
+-    snprintf(vals.filename, 1024, param[1].data.d_string);
++    snprintf(vals.filename, 1024, "%s", param[1].data.d_string);
+ 
+     switch (run_mode)
+     {
+@@ -368,7 +368,7 @@
+           case GS_PNG48: ptn.append(".png"); break;
+     }
+ 
+-    snprintf( vals.name , 1024, ptn.c_str());
++    snprintf( vals.name , 1024, "%s", ptn.c_str());
+ 
+     DBG;
+ 
+@@ -551,12 +551,12 @@
+ {
+   std::stringstream ss;
+   char tmp[1024], file[1024], dir[1024];
+-  snprintf(tmp, 1023, vals.filename);
+-  snprintf(file, 1023, strrchr(tmp, '/'));
++  snprintf(tmp, 1023, "%s", vals.filename);
++  snprintf(file, 1023, "%s", strrchr(tmp, '/'));
+   char *ptr = strrchr(tmp, '/');
+   const char* viewer = NULL;
+   *ptr = 0;
+-  snprintf(dir, 1023, tmp);
++  snprintf(dir, 1023, "%s", tmp);
+   WARN_S( dir << file << tmp );
+ 
+   // change the path to the picture
+--- cinepaint/plug-ins/pdf/pdf_dialog.cxx.orig	2007-06-10 21:13:49.000000000 +0200
++++ cinepaint/plug-ins/pdf/pdf_dialog.cxx	2013-03-31 08:22:54.632417335 +0200
+@@ -246,7 +246,7 @@
+ 
+ void take_opts() {
+   const char* text = interpreter_text->value();
+-  snprintf( vals.command, 1024, text );
++  snprintf( vals.command, 1024, "%s", text );
+ 
+   vals.resolution = (int) slider_resolution->value();
+   vals.ok = 1;
+--- cinepaint/plug-ins/print/icc_common_funcs.c.orig	2005-04-14 22:31:14.000000000 +0200
++++ cinepaint/plug-ins/print/icc_common_funcs.c	2013-03-31 08:23:47.608189881 +0200
+@@ -69,7 +69,7 @@
+   char* string;
+ 
+   string = malloc(sizeof(char)*strlen(text)+1);
+-  sprintf(string, text);
++  strcpy(string, text);
+ 
+   return string;
+ }
+--- cinepaint/plug-ins/print/print-lcms-funcs.c.orig	2007-03-10 16:01:57.000000000 +0100
++++ cinepaint/plug-ins/print/print-lcms-funcs.c	2013-03-31 08:25:23.445670779 +0200
+@@ -191,7 +191,7 @@
+               linear.Y_Min,linear.Y_Max,linear.K_Min,linear.K_Max,
+               levels);
+ 
+-    g_print (gamma_text);
++    g_print ("%s", gamma_text);
+ 
+     gamma[0] = cmsBuildGamma (nEntries, linear.C_Gamma);
+     gamma[1] = cmsBuildGamma (nEntries, linear.M_Gamma);
+@@ -909,7 +909,7 @@
+     sprintf (test1, "Lab");
+     sprintf (test2, "lab");
+   } else {
+-    sprintf (vals.tiff_file, vals.image_filename);
++    strcpy (vals.tiff_file, vals.image_filename);
+     change_tiff_fn = FALSE;
+   }
+ 
+@@ -917,7 +917,7 @@
+     && strstr(vals.image_filename, test2) == NULL
+     && change_tiff_fn ) {
+ 
+-        sprintf (txt, vals.image_filename);
++        strcpy (txt, vals.image_filename);
+ 
+         g_print ("%s:%d vals.tiff_file %s\n",__FILE__,__LINE__,vals.image_filename);
+         if (strchr(txt, '.') && strlen (txt) < MAX_PATH - 9) {
+--- cinepaint/plug-ins/print/print-lcms-options.c.orig	2006-12-20 17:57:31.000000000 +0100
++++ cinepaint/plug-ins/print/print-lcms-options.c	2013-03-31 08:31:17.975319980 +0200
+@@ -1051,7 +1051,7 @@
+   }
+   else
+     if ( (strcmp(vals.o_profile, "")) == 0)
+-      snprintf (vals.o_profile, MAX_PATH, ptr);
++      snprintf (vals.o_profile, MAX_PATH, "%s", ptr);
+ 
+ #ifndef USE_ALL_OPTIONS
+   gtk_widget_hide (matrix_vbox);
+@@ -1162,7 +1162,7 @@
+                                         gpointer         user_data)
+ {
+ 
+-  sprintf (vals.i_profile, gtk_editable_get_chars(editable,0,
++  strcpy (vals.i_profile, gtk_editable_get_chars(editable,0,
+                                       GTK_ENTRY(editable)->text_length));
+   g_print ("%s %s:%d  %s\n",__func__,__FILE__,__LINE__,vals.i_profile);
+ }
+@@ -1181,7 +1181,7 @@
+ 
+         point = text = g_new (char,MAX_PATH);
+ 
+-        sprintf (text, vals.o_profile);
++        strcpy (text, vals.o_profile);
+         g_print ("%s:%d %s\n",__FILE__,__LINE__,text);
+ 
+         if (strchr(text, '.') && strlen (text) < MAX_PATH - 4) {
+@@ -1561,7 +1561,7 @@
+ 
+ 
+   filename = malloc(MAX_PATH);
+-  sprintf (filename, gtk_file_selection_get_filename (GTK_FILE_SELECTION (fileselection1)) );
++  strcpy (filename, gtk_file_selection_get_filename (GTK_FILE_SELECTION (fileselection1)) );
+ 
+ 
+   // test for a valid profile and give some informations
+@@ -1662,7 +1662,7 @@
+   } else if (GTK_TOGGLE_BUTTON (button)->active && vals.icc) {
+     sprintf (text, "%s%s%s%s%s", _("You need to be in \""), _("Direct print"),
+              _("\" mode in order to linearise an printer.\nThis can be done in the tab \""), _("Print Options"), "\".");
+-    g_message (text);
++    g_message ("%s", text);
+   }
+ 
+   linear.use_lin = thaw_widgets;
+--- cinepaint/plug-ins/print/print.c.orig	2006-12-15 23:20:22.000000000 +0100
++++ cinepaint/plug-ins/print/print.c	2013-03-31 08:56:49.589162461 +0200
+@@ -402,7 +402,7 @@
+                                                              ICC_PROOF_PROFILE);
+         if(description)
+         {
+-          sprintf (vals.o_profile, description);
++          strcpy (vals.o_profile, description);
+           free( description );
+         }
+       }
+--- cinepaint/plug-ins/rawphoto/rawphoto.c.orig	2008-05-22 06:22:40.000000000 +0200
++++ cinepaint/plug-ins/rawphoto/rawphoto.c	2013-03-31 08:59:15.992565856 +0200
+@@ -147,7 +147,7 @@
+     ptr = strchr( tmpname, '.' );
+     if(ptr)
+       ptr[1] = 0;
+-    sprintf( &tmpname[strlen(tmpname)], extension );
++    strcpy( &tmpname[strlen(tmpname)], extension );
+     return tmpname;
+ }
+ 
+--- cinepaint/plug-ins/tiff/gui.c.orig	2006-12-11 17:01:08.000000000 +0100
++++ cinepaint/plug-ins/tiff/gui.c	2013-03-31 09:18:13.611808680 +0200
+@@ -530,7 +530,7 @@
+       g_message (_("Your string is too long.\n"));
+       return;
+     } else {
+-      sprintf ( string_ptr, text);
++      strcpy ( string_ptr, text);
+     }
+   } else {
+     string_ptr[0] = '\000';
+--- cinepaint/plug-ins/tiff/info.c.orig	2007-03-08 19:18:52.000000000 +0100
++++ cinepaint/plug-ins/tiff/info.c	2013-03-31 09:21:00.816172023 +0200
+@@ -1184,7 +1184,7 @@
+     mem_profile = gimp_image_get_icc_profile_by_mem(image_ID, &size, ICC_IMAGE_PROFILE);
+     if (mem_profile && size) {
+       profile = cmsOpenProfileFromMem (mem_profile, size);
+-      sprintf (color_space_name_,
++      strcpy (color_space_name_,
+                gimp_image_get_icc_profile_color_space_name (image_ID, ICC_IMAGE_PROFILE));
+       DBG (color_space_name_)
+     
+@@ -1195,7 +1195,7 @@
+       info->icc_profile_info = calloc (sizeof (char),
+           strlen( gimp_image_get_icc_profile_info(image_ID, ICC_IMAGE_PROFILE) )
+           + 1);
+-      sprintf (info->icc_profile_info,
++      strcpy (info->icc_profile_info,
+                   gimp_image_get_icc_profile_info(image_ID, ICC_IMAGE_PROFILE));
+       memcpy (&info->colorspace[0], color_space_name_, 4);
+       info->colorspace[4] = '\000';
+--- cinepaint/plug-ins/xwd/xwd.c.orig	2006-10-04 20:34:04.000000000 +0200
++++ cinepaint/plug-ins/xwd/xwd.c	2013-03-31 10:45:08.915167114 +0200
+@@ -490,7 +490,7 @@
+     temp = g_strdup_printf (_("load_image (xwd): XWD-file %s has format %d, depth %d\n\
+ and bits per pixel %d.\nCurrently this is not supported.\n"),
+ 			    filename, (int)xwdhdr.l_pixmap_format, depth, bpp);
+-    g_message (temp);
++    g_message ("%s", temp);
+     g_free (temp);
+     return (-1);
+   }
+--- cinepaint/app/channels_dialog.c.orig	2007-11-09 16:24:26.000000000 +0100
++++ cinepaint/app/channels_dialog.c	2013-03-31 10:11:10.421429638 +0200
+@@ -330,7 +330,7 @@
+ 
+   if(strstr(colour_sig,colour_sig_neu) == 0)
+     {
+-      sprintf(colour_sig, colour_sig_neu);
++      strcpy(colour_sig, colour_sig_neu);
+       channelsD->gimage_id = -1;
+       channels_dialog_update (gimage->ID);
+     }
+--- cinepaint/app/cms.c.orig	2013-03-31 08:14:29.805839803 +0200
++++ cinepaint/app/cms.c	2013-03-31 10:15:49.914296882 +0200
+@@ -1283,7 +1283,7 @@
+     return_value = g_new(CMSProfile, 1);
+     return_value->cache_key = strdup(cms_get_profile_keyname(profile,mem));
+     return_value->handle = profile;
+-    sprintf( return_value->cspace,
++    strcpy( return_value->cspace,
+              cms_get_color_space_name( return_value->handle ) );
+ 
+     /* save an copy of the original icc profile to mem */
+@@ -1337,7 +1337,7 @@
+     return_value = g_new(CMSProfile, 1);
+     return_value->cache_key = strdup(cms_get_profile_keyname(profile,mem_pointer));
+     return_value->handle = profile;
+-    sprintf( return_value->cspace,
++    strcpy( return_value->cspace,
+              cms_get_color_space_name( return_value->handle ) );
+ 
+     cache_entry = g_new(ProfileCacheEntry, 1);
+@@ -1385,7 +1385,7 @@
+ {   CMSProfile *return_value = 0;
+     ProfileCacheEntry *cache_entry = 0;
+     GString *hash_key = g_string_new(NULL); 
+-    g_string_sprintf(hash_key, key_name);
++    g_string_sprintf(hash_key, "%s", key_name);
+ 
+     /* generate new profile */
+     return_value = g_new(CMSProfile, 1);
+--- cinepaint/app/gdisplay.c.orig	2007-11-09 16:24:27.000000000 +0100
++++ cinepaint/app/gdisplay.c	2013-03-31 10:16:47.006925303 +0200
+@@ -319,7 +319,7 @@
+       
+       if(smr && (strstr(type,"MenuItem") || strstr(type,"GtkMenuItem")))
+       {
+-        snprintf( path, 64, fac_item->path );
++        snprintf( path, 64, "%s", fac_item->path );
+         ptr = strchr( fac_item->path, '/' );
+         if(ptr) *ptr=0;
+ #     ifdef DEBUG
+--- cinepaint/app/gimage.c.orig	2008-05-22 10:45:01.000000000 +0200
++++ cinepaint/app/gimage.c	2013-03-31 10:17:20.801814479 +0200
+@@ -2941,7 +2941,7 @@
+ 
+   if (error)
+     {
+-      g_message (error);
++      g_message ("%s", error);
+       return NULL;
+     }
+ 
+--- cinepaint/app/main.c.orig	2008-02-28 10:50:15.000000000 +0100
++++ cinepaint/app/main.c	2013-03-31 10:26:26.293525083 +0200
+@@ -610,7 +610,7 @@
+       if(pos != 0)
+       {
+         /* 1 a. select an appropriate charset (needed for non UTF-8 fltk/gtk1)*/
+-        sprintf (codeset, codeset_);
++        strcpy (codeset, codeset_);
+  
+           /* merge charset with locale string */
+         if(set_locale)
+@@ -639,7 +639,7 @@
+ #else
+           char *ptr = setlocale (LC_ALL, "");
+ #endif
+-          if(ptr) snprintf( locale, TEXTLEN, ptr);
++          if(ptr) snprintf( locale, TEXTLEN, "%s", ptr);
+         }
+       }
+     }
+@@ -705,7 +705,7 @@
+ 
+   if(fehler) {
+       d_printf( "osX locale obtained: %s", text );
+-    snprintf(locale,TEXTLEN, text);
++    snprintf(locale,TEXTLEN, "%s", text);
+   } else {
+       d_printf( "osX locale not obtained: %s", text );
+   }
+@@ -720,7 +720,7 @@
+ #endif
+   }
+   if (tmp)
+-    snprintf(locale,TEXTLEN, tmp);
++    snprintf(locale,TEXTLEN, "%s", tmp);
+   set_locale = 0;
+ # else
+ 
+@@ -734,7 +734,7 @@
+ 
+     // .. or take locale info from environment
+   if(getenv("LANG"))
+-    snprintf(locale,TEXTLEN, getenv("LANG"));
++    snprintf(locale,TEXTLEN, "%s", getenv("LANG"));
+ # endif
+ 
+ 
+--- cinepaint/app/rc.c.orig	2012-04-07 03:04:52.000000000 +0200
++++ cinepaint/app/rc.c	2013-03-31 10:28:12.085061991 +0200
+@@ -532,7 +532,7 @@
+   error_msg = open_backup_file (name, &fp_new, &fp_old);
+   if (error_msg != NULL)
+     {
+-      g_message (error_msg);
++      g_message ("%s", error_msg);
+       return;
+     }
+ 
+--- cinepaint/app/store_frame_manager.c.orig	2007-11-20 07:26:33.000000000 +0100
++++ cinepaint/app/store_frame_manager.c	2013-03-31 10:29:29.551961607 +0200
+@@ -2235,7 +2235,7 @@
+           len = strlen( s->gimage->filename ) + 1;
+           if(s->gimage->filename) free( s->gimage->filename );
+           s->gimage->filename = malloc( len );
+-          sprintf( s->gimage->filename, new_fn );
++          strcpy( s->gimage->filename, new_fn );
+           sfm_flipbook_store_update( disp, row+i+1 );
+ 	}
+       break;
diff --git a/cinepaint-include.patch b/cinepaint-include.patch
new file mode 100644
index 0000000..82c9bda
--- /dev/null
+++ b/cinepaint-include.patch
@@ -0,0 +1,10 @@
+--- cinepaint/plug-ins/icc_examin/icc_examin/icc_modell_beobachter.cpp.orig	2007-11-09 16:10:45.000000000 +0100
++++ cinepaint/plug-ins/icc_examin/icc_examin/icc_modell_beobachter.cpp	2013-03-30 21:00:17.235837818 +0100
+@@ -30,6 +30,7 @@
+ 
+ #include "icc_utils.h"
+ 
++#include <stdint.h>
+ #include <list>
+ #include <string>
+ 
diff --git a/cinepaint-python.patch b/cinepaint-python.patch
new file mode 100644
index 0000000..b529f55
--- /dev/null
+++ b/cinepaint-python.patch
@@ -0,0 +1,11 @@
+--- cinepaint/configure.in.orig	2013-03-31 10:45:39.959929556 +0200
++++ cinepaint/configure.in	2013-03-31 11:13:42.014092614 +0200
+@@ -611,7 +611,7 @@
+       PYLIB="-L$PYEPREFIX"
+       PYLINK="-framework Python"
+     fi
+-    if test -z "$PYLIB"; then
++    if test -z "$PYINCLUDE"; then
+         AC_MSG_RESULT(Not found)
+     else
+         AC_MSG_RESULT($PYLIB)
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/cinepaint.git/commitdiff/c214b31f849193837aa8931e7365653c71139246



More information about the pld-cvs-commit mailing list