File recode-3.6-segfault.patch of Package recode

# Recode segfaulted on C files (bnc#503437)
# Eg. file containing just a single apostrophe ('), or openinig C comment (/*)
# This is a simple workaround.
diff -u -r recode-3.6/src/main.c recode-fajn/src/main.c
--- src/main.c.orig	2000-12-06 20:44:59.000000000 +0100
+++ src/main.c		2010-12-30 16:07:03.973840778 +0100
@@ -951,17 +951,26 @@
 		  success = false;
 		  if (verbose_flag)
 		    {
-		      fprintf (stderr, _(" failed: %s in step `%s..%s'\n"),
+                      if (task->error_at_step)
+		        fprintf (stderr, _(" failed: %s in step `%s..%s'\n"),
 			       task_perror (task),
 			       task->error_at_step->before->name,
 			       task->error_at_step->after->name);
+		      else
+		        fprintf (stderr, _(" failed: Unknown error\n"));
+		  
 		      fflush (stderr);
 		    }
 		  else if (!quiet_flag)
-		    error (0, 0, _("%s failed: %s in step `%s..%s'"),
+	            {
+                    if (task->error_at_step)
+		      error (0, 0, _("%s failed: %s in step `%s..%s'"),
 			   input_name, task_perror (task),
 			   task->error_at_step->before->name,
 			   task->error_at_step->after->name);
+		    else
+		      error (0, 0, _("%s failed: Unknown error"), input_name);
+                    }
 
 		  unlink (output_name);
 		}
@@ -981,10 +990,15 @@
 	  {
 	    success = false;
 	    if (!quiet_flag)
-	      error (0, 0, _("%s in step `%s..%s'"),
+	      {
+              if (task->error_at_step)
+	        error (0, 0, _("%s in step `%s..%s'"),
 		     task_perror (task),
 		     task->error_at_step->before->name,
 		     task->error_at_step->after->name);
+              else
+	        error (0, 0, _("Unknown error"));
+            }
 	  }
       }
   }
Only in recode-fajn/src: tags
openSUSE Build Service is sponsored by