Commit e9eb8ba4 authored by Dominik Charousset's avatar Dominik Charousset

Check whether buf_ is still valid before accessing

parent 0ab5fad6
...@@ -78,18 +78,26 @@ public: ...@@ -78,18 +78,26 @@ public:
/// @returns the remaining demand. /// @returns the remaining demand.
/// @pre `demand() > 0` /// @pre `demand() > 0`
size_t push(const value_type& item) { size_t push(const value_type& item) {
if (buf_) {
CAF_ASSERT(demand_ > 0); CAF_ASSERT(demand_ > 0);
buf_->push(item); buf_->push(item);
return --demand_; return --demand_;
} else {
return 0;
}
} }
/// Makes `items` available to the consumer. /// Makes `items` available to the consumer.
/// @returns the remaining demand. /// @returns the remaining demand.
/// @pre `demand() >= items.size()` /// @pre `demand() >= items.size()`
size_t push(span<const value_type> items) { size_t push(span<const value_type> items) {
if (buf_) {
CAF_ASSERT(demand_ >= items.size()); CAF_ASSERT(demand_ >= items.size());
buf_->push(items); buf_->push(items);
return demand_ -= items.size(); return demand_ -= items.size();
} else {
return 0;
}
} }
void close() { void close() {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment