From: Julian Andres Klode Date: Wed, 10 Feb 2016 11:45:47 +0000 (+0100) Subject: Set seekpos to 0 after reopening files in Seek() X-Git-Tag: 1.2.3~5 X-Git-Url: https://git.saurik.com/apt.git/commitdiff_plain/eda0c1ba43cd3ae0ed85aba2c31573f156cec9c4?ds=inline Set seekpos to 0 after reopening files in Seek() If we just reopened the file, we also need to reset the current seek position when we reset the buffer, otherwise the code will not try to seek to the position given to Skip (from 0), but will try to seek to old offset + the position given to skip. Closes: #812994, #813000 --- diff --git a/apt-pkg/contrib/fileutl.cc b/apt-pkg/contrib/fileutl.cc index 297172eea..eae4d233e 100644 --- a/apt-pkg/contrib/fileutl.cc +++ b/apt-pkg/contrib/fileutl.cc @@ -1119,6 +1119,7 @@ public: return filefd->FileFdError("Seek on file %s because it couldn't be reopened", filefd->FileName.c_str()); buffer.reset(); + set_seekpos(0); if (To != 0) return filefd->Skip(To);