Files
scylladb/utils
Avi Kivity 03531c2443 fragmented_temporary_buffer: fix read_exactly() during premature end-of-stream
read_exactly(), when given a stream that does not contain the amount of data
requested, will loop endlessly, allocating more and more memory as it does, until
it fails with an exception (at which point it will release the memory).

Fix by returning an empty result, like input_stream::read_exactly() (which it
replaces). Add a test case that fails without a fix.

Affected callers are the native transport, commitlog replay, and internal
deserialization.

Fixes #4233.

Branches: master, branch-3.0
Tests: unit(dev)
Message-Id: <20190216150825.14841-1-avi@scylladb.com>
2019-02-16 17:06:19 +00:00
..
2018-11-21 00:01:44 +02:00
2018-12-03 14:36:08 +01:00
2018-05-30 14:41:40 +02:00
2018-12-03 14:36:08 +01:00
2017-04-17 23:03:15 +03:00
2017-05-17 12:30:03 +03:00
2018-11-21 00:01:44 +02:00
2018-11-21 00:01:44 +02:00
2018-11-21 00:01:44 +02:00
2018-11-21 00:01:44 +02:00
2017-09-18 12:44:05 +02:00
2018-11-21 00:01:44 +02:00
2018-11-21 00:01:44 +02:00
2018-12-05 21:51:01 +02:00
2018-12-05 21:51:01 +02:00
2018-11-21 00:01:44 +02:00
2018-11-21 00:01:44 +02:00