[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#380685: kdebase-kio-plugins: tar io-slave totally broken since upgrade to 3.5.4



On 31.07.06 18:00:18, Christopher Martin wrote:
> On Monday 31 July 2006 16:58, Andreas Pakulat wrote:
> > Package: kdebase-kio-plugins
> > Version: 4:3.5.4-2
> > Severity: important
> >
> > just found out that the tar io-slave doesn't work on tar.gz's anymore
> > (didn't test plain tar or tar.bz2), it extracts all files with 0
> > size. Could this be related to the recent changes in tar?
> >
> > I would've raised the severity, but wasn't sure if it is justified,
> > it totally breaks project creation in kdevelop because the template
> > files are inside tar.gz's.
> 
> Works for me. Do you have any files we could use to test?

sorry forgot the diff:

--- branches/KDE/3.5/kdelibs/kio/kio/ktar.cpp   2006/03/21 14:11:33     521012
+++ branches/KDE/3.5/kdelibs/kio/kio/ktar.cpp   2006/07/22 05:42:09     565016
@@ -193,7 +193,10 @@
 
       // only compare those of the 6 checksum digits that mean something,
       // because the other digits are filled with all sorts of different chars by different tars ...
-      if( strncmp( buffer + 148 + 6 - s.length(), s.data(), s.length() ) ) {
+      // Some tars right-justify the checksum so it could start in one of three places - we have to check each.
+      if( strncmp( buffer + 148 + 6 - s.length(), s.data(), s.length() )
+        && strncmp( buffer + 148 + 7 - s.length(), s.data(), s.length() )
+        && strncmp( buffer + 148 + 8 - s.length(), s.data(), s.length() ) ) {
         kdWarning(7041) << "KTar: invalid TAR file. Header is: " << QCString( buffer+257, 5 ) << endl;
         return -1;
       }

Andreas

-- 
People are beginning to notice you.  Try dressing before you leave the house.

Attachment: pgpU48h772akb.pgp
Description: PGP signature


Reply to: