diff --git a/src/util/ForeignFifoBuffer.hxx b/src/util/ForeignFifoBuffer.hxx index 8d515eb3e..e11db2010 100644 --- a/src/util/ForeignFifoBuffer.hxx +++ b/src/util/ForeignFifoBuffer.hxx @@ -234,12 +234,13 @@ public: w = Write(); } - const auto n = std::min(r.size(), w.size()); + if (r.size() > w.size()) + r = r.first(w.size()); - std::move(r.data(), r.data() + n, w.data()); - Append(n); - src.Consume(n); - return n; + std::move(r.begin(), r.end(), w.begin()); + Append(r.size()); + src.Consume(r.size()); + return r.size(); } protected: