X-Git-Url: https://git.saurik.com/apt.git/blobdiff_plain/a9024b1be2e26c3c6b1f67093ddbf7602636ec9f..01152444ba96051fa0ca90b08dcbb8fec9d81745:/apt-pkg/contrib/fileutl.cc diff --git a/apt-pkg/contrib/fileutl.cc b/apt-pkg/contrib/fileutl.cc index aa5831f58..99db66f03 100644 --- a/apt-pkg/contrib/fileutl.cc +++ b/apt-pkg/contrib/fileutl.cc @@ -970,13 +970,12 @@ public: { if (unlikely(Size == 0)) return nullptr; + // Read one byte less than buffer size to have space for trailing 0. --Size; - To[0] = '\0'; - if (unlikely(Size == 0)) - return To; + char * const InitialTo = To; - do { + while (Size > 0) { if (buffer.empty() == true) { buffer.reset(); @@ -1004,7 +1003,7 @@ public: Size -= actualread; if (newline != nullptr) break; - } while (Size > 0); + } *To = '\0'; return InitialTo; }