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