All pastes #749619 Raw Edit

hughsie

public text v1 · immutable
#749619 ·published 2007-10-25 20:26 UTC
rendered paste body
diff --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;
 }