File fix-CVE-2014-2528.diff of Package kdirstat

Index: kdirstat/kcleanup.cpp
===================================================================
--- kdirstat.orig/kcleanup.cpp
+++ kdirstat/kcleanup.cpp
@@ -311,10 +311,10 @@ KCleanup::expandVariables( const KFileIn
 {
     QString expanded = unexpanded;
 
-    expanded.replace( QRegExp( "%p" ),
-		      "\"" + QString::fromLocal8Bit( item->url() )  + "\"" );
-    expanded.replace( QRegExp( "%n" ),
-		      "\"" + QString::fromLocal8Bit( item->name() ) + "\"" );
+    QString url = QString::fromLocal8Bit( item->url() ).replace("'", "'\\''");
+    expanded.replace( QRegExp( "%p" ), "'" + url + "'" );
+    QString name = QString::fromLocal8Bit( item->name() ).replace("'", "'\\''");
+    expanded.replace( QRegExp( "%n" ), "'" + name + "'" );
 
     if ( KDE::versionMajor() >= 3 && KDE::versionMinor() >= 4 )
 	expanded.replace( QRegExp( "%t" ), "trash:/" );
openSUSE Build Service is sponsored by