]> git.saurik.com Git - apt.git/commitdiff
truncating /dev/null to zero is always successful
authorDavid Kalnischkies <kalnischkies@gmail.com>
Fri, 11 Oct 2013 11:07:01 +0000 (13:07 +0200)
committerDavid Kalnischkies <kalnischkies@gmail.com>
Sat, 30 Nov 2013 11:38:26 +0000 (12:38 +0100)
Calling truncate on /dev/null can happen by the download methods if they
are instructed to download a file to /dev/null (as testcases are only
interested in the status code, but do not support HEAD requests yet)

So just ignore truncate calls on the /dev/null file as it is always
empty anyway, so truncating to zero isn't a problem.

Git-Dch: Ignore

apt-pkg/contrib/fileutl.cc

index 3a6bdfe2ec431b6872ef3a45cb2c5e41c130e2b1..7fbe4d604da276033d0de7c2e0ff08231d78e02e 100644 (file)
@@ -1545,6 +1545,9 @@ bool FileFd::Skip(unsigned long long Over)
 /* */
 bool FileFd::Truncate(unsigned long long To)
 {
+   // truncating /dev/null is always successful - as we get an error otherwise
+   if (To == 0 && FileName == "/dev/null")
+      return true;
 #if defined HAVE_ZLIB || defined HAVE_BZ2
    if (d != NULL && (d->gz != NULL || d->bz2 != NULL))
       return FileFdError("Truncating compressed files is not implemented (%s)", FileName.c_str());