Quick partial fix for
https://savannah.nongnu.org/bugs/?func=detailitem&item_id=17079

diff -Naur synaptic-0.57.2.orig/common/rpackage.cc synaptic-0.57.2/common/rpackage.cc
--- synaptic-0.57.2.orig/common/rpackage.cc	2005-05-20 20:26:52.000000000 +0200
+++ synaptic-0.57.2/common/rpackage.cc	2006-07-11 17:47:20.000000000 +0200
@@ -120,14 +120,14 @@
 }
 
 
-const char *RPackage::summary()
+string RPackage::summary()
 {
    pkgCache::VerIterator ver = _package->VersionList();
 
    if (!ver.end()) {
       pkgRecords::Parser & parser = _records->Lookup(ver.FileList());
 
-      return parser.ShortDesc().c_str();
+      return parser.ShortDesc();
    }
    return "";
 }
diff -Naur synaptic-0.57.2.orig/common/rpackagefilter.cc synaptic-0.57.2/common/rpackagefilter.cc
--- synaptic-0.57.2.orig/common/rpackagefilter.cc	2005-05-20 20:26:52.000000000 +0200
+++ synaptic-0.57.2/common/rpackagefilter.cc	2006-07-11 17:49:44.000000000 +0200
@@ -187,7 +187,8 @@
 bool RPatternPackageFilter::filterDescription(Pattern pat, RPackage *pkg)
 {
    bool found=true;
-   const char *s1 = pkg->summary();
+   string summarystring = pkg->summary();
+   const char *s1 = summarystring.c_str();
    const char *s2 = pkg->description();
    for (unsigned int i = 0; i < pat.regexps.size(); i++) {
       if (regexec(pat.regexps[i], s1, 0, NULL, 0) == 0) {
diff -Naur synaptic-0.57.2.orig/common/rpackage.h synaptic-0.57.2/common/rpackage.h
--- synaptic-0.57.2.orig/common/rpackage.h	2005-05-20 20:26:52.000000000 +0200
+++ synaptic-0.57.2/common/rpackage.h	2006-07-11 17:47:30.000000000 +0200
@@ -123,7 +123,7 @@
    const char *section();
    const char *priority();
 
-   const char *summary();
+   string summary();
    const char *description();
    const char *installedFiles();
 
diff -Naur synaptic-0.57.2.orig/gtk/gtkpkglist.cc synaptic-0.57.2/gtk/gtkpkglist.cc
--- synaptic-0.57.2.orig/gtk/gtkpkglist.cc	2005-05-20 20:24:35.000000000 +0200
+++ synaptic-0.57.2/gtk/gtkpkglist.cc	2006-07-11 17:53:05.000000000 +0200
@@ -377,6 +377,8 @@
 gtk_pkg_list_get_value(GtkTreeModel *tree_model,
                        GtkTreeIter *iter, gint column, GValue * value)
 {
+   string summarystring;
+
    g_return_if_fail(GTK_IS_PKG_LIST(tree_model));
    g_return_if_fail(iter != NULL);
    g_return_if_fail(column < GTK_PKG_LIST(tree_model)->n_columns);
@@ -438,7 +440,8 @@
          g_value_set_string(value, str);
          break;
       case DESCR_COLUMN:
-         str = utf8(pkg->summary());
+         summarystring = pkg->summary();
+         str = utf8(summarystring.c_str());
          g_value_set_string(value, str);
          break;
       case PKG_COLUMN:
