Sophie

Sophie

distrib > Mandriva > 8.2 > i586 > by-pkgid > 58dd80ca135f498c0c972975902ddab9 > files > 21

kdeutils-2.2.2-28.1mdk.src.rpm

Index: kdeutils/ark/arch.cpp
diff -u kdeutils/ark/arch.cpp:1.35 kdeutils/ark/arch.cpp:1.35.2.1
--- kdeutils/ark/arch.cpp:1.35	Tue Jul 17 20:46:06 2001
+++ kdeutils/ark/arch.cpp	Fri Dec 13 11:48:11 2002
@@ -488,7 +488,7 @@
     {
       strcpy(fourDigits, "20");
     }
-  strcat(fourDigits, strYear);
+  strncat(fourDigits, strYear, sizeof(fourDigits)-strlen(fourDigits)-1);
   return fourDigits;
 }
 
Index: kdeutils/ark/compressedfile.cc
diff -u kdeutils/ark/compressedfile.cc:1.17 kdeutils/ark/compressedfile.cc:1.17.2.2
--- kdeutils/ark/compressedfile.cc:1.17	Tue Jul 17 20:46:06 2001
+++ kdeutils/ark/compressedfile.cc	Fri Dec  6 17:32:17 2002
@@ -28,6 +28,9 @@
 // C includes
 #include <unistd.h>
 #include <stdlib.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <fcntl.h>
 
 // Qt includes
 #include <qdir.h>
@@ -129,7 +132,7 @@
   // (that code is in the slot slotOpenDone)
 
   QString command;
-  command = "cp '" + m_filename + "' " + m_tmpdir;
+  command = "cp " + KShellProcess::quote(m_filename) + " " + KShellProcess::quote(m_tmpdir);
   system(QFile::encodeName(command));
 
   m_tmpfile = m_filename.right(m_filename.length()
@@ -192,15 +195,14 @@
       kdDebug(1601) << "Temp file is " << m_tmpfile << endl;
       chdir(QFile::encodeName(m_tmpdir));
       QString command = "ls -l " +
-	m_tmpfile.right(m_tmpfile.length() - 1 - m_tmpfile.findRev("/"));
-
+        KShellProcess::quote(m_tmpfile.right(m_tmpfile.length() - 1 - m_tmpfile.findRev("/")));
       char line[4096];
       char columns[7][80];
       char filename[4096];
 
       FILE *readHandle = popen(QFile::encodeName(command), "r");
-      fscanf(readHandle, "%[-A-Za-z:0-9_+-. ]", line);
-      sscanf(line, "%[-drwxst] %[0-9] %[0-9.a-zA-Z_] %[0-9.a-zA-Z_] %[0-9] %12[A-Za-z0-9: ]%1[ ]%[^\n]", columns[0], columns[5],
+      fscanf(readHandle, "%4095[-A-Za-z:0-9_+-. ]", line);
+      sscanf(line, "%79[-drwxst] %79[0-9] %79[0-9.a-zA-Z_] %79[0-9.a-zA-Z_] %79[0-9] %12[A-Za-z0-9: ]%1[ ]%79[^\n]", columns[0], columns[5],
 	     columns[1], columns[2], columns[3],
 	     columns[4], columns[6], filename);
 
@@ -247,7 +249,7 @@
     file = file.right(file.length() - 5);
 
   QString command;
-  command = "cp '" + file + "' " + m_tmpdir;
+  command = "cp " + KShellProcess::quote(file) + " " + KShellProcess::quote(m_tmpdir);
   system(QFile::encodeName(command));
 
   m_tmpfile = file.right(file.length()
@@ -311,8 +313,7 @@
 	dest = m_settings->getExtractDir();
       else
 	dest=_destDir;
-      QString command;
-      command = QString::fromLocal8Bit("cp %1 %2").arg(m_tmpfile).arg(dest);
+      QString command = "cp " + KShellProcess::quote(m_tmpfile) + " " + KShellProcess::quote(dest);
       system(QFile::encodeName(command));
     }
   emit sigExtract(true);
@@ -326,8 +327,8 @@
   // delete the compressed file but then create it empty in case someone
   // does a reload and finds it no longer exists!
   unlink(QFile::encodeName(m_filename));
-  QString command = "touch '" + m_filename + "'";
-  system(QFile::encodeName(command));
+  
+  ::close(::open(QFile::encodeName(m_filename), O_WRONLY | O_CREAT | O_EXCL));
 
   m_tmpfile = "";
   emit sigDelete(true);
Index: kdeutils/ark/lha.cc
diff -u kdeutils/ark/lha.cc:1.25 kdeutils/ark/lha.cc:1.25.2.2
--- kdeutils/ark/lha.cc:1.25	Wed May 30 15:16:24 2001
+++ kdeutils/ark/lha.cc	Fri Dec 13 11:48:11 2002
@@ -74,7 +74,7 @@
 
   if (QString(_line).contains("[generic]") ) 
     {
-      sscanf(_line, " %[]\[generic] %[0-9] %[0-9] %[0-9.%*] %10[-a-z0-9 ] %3[A-Za-z]%1[ ]%2[0-9 ]%1[ ]%5[ 0-9:]%1[ ]%[^\n]",
+      sscanf(_line, " %79[]\\[generic] %79[0-9] %79[0-9] %79[0-9.%*] %10[-a-z0-9 ] %3[A-Za-z]%1[ ]%2[0-9 ]%1[ ]%5[ 0-9:]%1[ ]%4095[^\n]",
 	     columns[0], columns[2], columns[3], columns[4], columns[5],
 	     columns[6], columns[10], columns[7], columns[11], columns[8],
 	     columns[9], filename );
@@ -83,7 +83,7 @@
   else
   if (QString(_line).contains("[MS-DOS]") ) 
     {
-      sscanf(_line, " %[]\[MS-DOS] %[0-9] %[0-9] %[0-9.%*] %10[-a-z0-9 ] %3[A-Za-z]%1[ ]%2[0-9 ]%1[ ]%5[ 0-9:]%1[ ]%[^\n]",
+      sscanf(_line, " %79[]\\[MS-DOS] %79[0-9] %79[0-9] %79[0-9.%*] %10[-a-z0-9 ] %3[A-Za-z]%1[ ]%2[0-9 ]%1[ ]%5[ 0-9:]%1[ ]%4095[^\n]",
 	     columns[0], columns[2], columns[3], columns[4], columns[5],
 	     columns[6], columns[10], columns[7], columns[11], columns[8],
 	     columns[9], filename );
@@ -91,7 +91,7 @@
     }
   else
     {
-      sscanf(_line, " %[-drlwxst] %[0-9/] %[0-9] %[0-9] %[0-9.%*] %10[-a-z0-9 ] %3[A-Za-z]%1[ ]%2[0-9 ]%1[ ]%5[ 0-9:]%1[ ]%[^\n]",
+      sscanf(_line, " %79[-drlwxst] %79[0-9/] %79[0-9] %79[0-9] %79[0-9.%*] %10[-a-z0-9 ] %3[A-Za-z]%1[ ]%2[0-9 ]%1[ ]%5[ 0-9:]%1[ ]%4095[^\n]",
 	     columns[0], columns[1], columns[2], columns[3],
 	     columns[4], columns[5], columns[6], columns[10], columns[7],
 	     columns[11], columns[8], columns[9], filename);
@@ -102,7 +102,8 @@
   // make the time stamp sortable
   QString massagedTimeStamp = Utils::getTimeStamp(columns[6], columns[7],
 						  columns[8]);
-  strcpy(columns[6], massagedTimeStamp.ascii());
+  strncpy(columns[6], massagedTimeStamp.ascii(), sizeof(columns[6]));
+  columns[6][sizeof(columns[6])-1] = '\0';
 
   kdDebug(1601) << "New timestamp is " << columns[6] << endl;
 
Index: kdeutils/ark/rar.cc
diff -u kdeutils/ark/rar.cc:1.17 kdeutils/ark/rar.cc:1.17.2.2
--- kdeutils/ark/rar.cc:1.17	Fri Feb 23 19:46:10 2001
+++ kdeutils/ark/rar.cc	Fri Dec 13 11:48:11 2002
@@ -85,8 +85,8 @@
 
   char columns[11][80];
   char filename[4096];
-  sscanf(QFile::encodeName(m_line1), " %[^\n]", filename);
-  sscanf((const char *)m_line2.ascii(), " %[0-9] %[0-9] %[0-9%] %2[0-9]-%2[0-9]-%2[0-9] %5[0-9:] %[drwxlst-] %[A-F0-9] %[A-Za-z0-9] %[0-9.]",
+  sscanf(QFile::encodeName(m_line1), " %4095[^\n]", filename);
+  sscanf((const char *)m_line2.ascii(), " %79[0-9] %79[0-9] %79[0-9%] %2[0-9]-%2[0-9]-%2[0-9] %5[0-9:] %79[drwxlst-] %79[A-F0-9] %79[A-Za-z0-9] %79[0-9.]",
 	 columns[0], columns[1], columns[2], columns[3],
 	 columns[8], columns[9], columns[10],
 	 columns[4], columns[5], columns[6],
@@ -107,7 +107,8 @@
 
   kdDebug(1601) << "Year is: " << year << "; Month is: " << columns[8] << "; Day is: " << columns[3] << "; Time is: " << columns[10] << endl;
 
-  strcpy(columns[3], timestamp.ascii());
+  strncpy(columns[3], timestamp.ascii(), sizeof(columns[3]));
+  columns[3][sizeof(columns[3])-1] = '\0';
 
   kdDebug(1601) << "The actual file is " << filename << endl;
 
Index: kdeutils/ark/zoo.cc
diff -u kdeutils/ark/zoo.cc:1.13 kdeutils/ark/zoo.cc:1.13.2.2
--- kdeutils/ark/zoo.cc:1.13	Fri Feb 23 19:46:10 2001
+++ kdeutils/ark/zoo.cc	Fri Dec 13 11:48:11 2002
@@ -71,7 +71,7 @@
 
   // Note: I'm reversing the ratio and the length for better display
 
-  sscanf(_line, " %[0-9] %[0-9%] %[0-9] %[0-9] %[a-zA-Z] %[0-9]%[ ]%11[ 0-9:+-]%2[C ]%[^\n]",
+  sscanf(_line, " %79[0-9] %79[0-9%] %79[0-9] %79[0-9] %79[a-zA-Z] %79[0-9]%79[ ]%11[ 0-9:+-]%2[C ]%4095[^\n]",
 	 columns[1], columns[0], columns[2], columns[3], columns[7],
 	 columns[8], columns[9], columns[4], columns[10], filename);
 
@@ -86,11 +86,12 @@
   strDate.sprintf("%s-%.2d-%.2d", year.utf8().data(),
 		    Utils::getMonth(columns[7]), atoi(columns[3]));
 
-  strcpy(columns[3], strDate.ascii());
+  strncpy(columns[3], strDate.ascii(), sizeof(columns[3]));
+  columns[3][sizeof(columns[3])] = '\0';
   kdDebug(1601) << "New timestamp is " << columns[3] << endl;
 
-  strcat(columns[3], " ");
-  strcat(columns[3], fixTime(columns[4]).ascii());
+  strncat(columns[3], " ", sizeof(columns[3])-strlen(columns[3])-1);
+  strncat(columns[3], fixTime(columns[4]).ascii(),sizeof(columns[3])-strlen(columns[3])-1);
 
   QStringList list;
   list.append(QString::fromLocal8Bit(filename));
Index: kdeutils/klaptopdaemon/portable.cpp
diff -u kdeutils/klaptopdaemon/portable.cpp:1.13 kdeutils/klaptopdaemon/portable.cpp:1.13.2.1
--- kdeutils/klaptopdaemon/portable.cpp:1.13	Wed May 16 04:16:35 2001
+++ kdeutils/klaptopdaemon/portable.cpp	Fri Dec  6 16:13:59 2002
@@ -73,7 +73,7 @@
 	f = fopen("/proc/apm", "r");
 	if (f == NULL)
 		return(1);
-	s = fscanf(f, "%s %d.%d %x %x %x %x %d%% %d %s\n",
+	s = fscanf(f, "%255s %d.%d %x %x %x %x %d%% %d %s\n",
 		version,
 		&tmp,
 		&tmp,