rendered paste bodydiff --git a/src/pk-backend.c b/src/pk-backend.c
index e719b49..939282d 100644
--- a/src/pk-backend.c
+++ b/src/pk-backend.c
@@ -737,6 +737,9 @@ pk_backend_change_status (PkBackend *backend, PkStatusEnum status)
gboolean
pk_backend_package (PkBackend *backend, PkInfoEnum info, const gchar *package, const gchar *summary)
{
+ gchar *summary_sane;
+ const gchar *delimiters;
+
g_return_val_if_fail (backend != NULL, FALSE);
g_return_val_if_fail (PK_IS_BACKEND (backend), FALSE);
@@ -744,8 +747,14 @@ pk_backend_package (PkBackend *backend, PkInfoEnum info, const gchar *package, c
g_free (backend->priv->last_package);
backend->priv->last_package = g_strdup (package);
- pk_debug ("emit package %i, %s, %s", info, package, summary);
- g_signal_emit (backend, signals [PK_BACKEND_PACKAGE], 0, info, package, summary);
+ /* rip out any insane characters from the summary */
+ delimiters = "\\\f\n\r\t\"'";
+ summary_sane = g_strdup (summary);
+ g_strdelimit (summary_sane, delimiters, ' ');
+
+ pk_debug ("emit package %i, %s, %s", info, package, summary_sane);
+ g_signal_emit (backend, signals [PK_BACKEND_PACKAGE], 0, info, package, summary_sane);
+ g_free (summary_sane);
return TRUE;
}