aboutsummaryrefslogtreecommitdiff
path: root/bpkg/fetch.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'bpkg/fetch.cxx')
-rw-r--r--bpkg/fetch.cxx9
1 files changed, 7 insertions, 2 deletions
diff --git a/bpkg/fetch.cxx b/bpkg/fetch.cxx
index 85d6583..1c9b623 100644
--- a/bpkg/fetch.cxx
+++ b/bpkg/fetch.cxx
@@ -578,9 +578,14 @@ namespace bpkg
// the manifest parsing.
//
ifdstream is (pr.in_ofd, fdstream_mode::binary);
-
stringstream bs (ios::in | ios::out | ios::binary);
- bs << is.rdbuf ();
+
+ // Note that the eof check is important: if the stream is at eof, write
+ // will fail.
+ //
+ if (is.peek () != ifdstream::traits_type::eof ())
+ bs << is.rdbuf ();
+
is.close ();
string sha256sum (sha256 (o, bs));