diff options
author | Josh Blum | 2012-11-21 20:15:06 -0800 |
---|---|---|
committer | Josh Blum | 2012-11-21 20:15:06 -0800 |
commit | 6d4c752aa0aaf41d7e764dbd81708f343a38c650 (patch) | |
tree | 0f631463320fa6e0780e4b06f1731d886e760975 | |
parent | fc2d9cf48d9d09ee42d817ab14ec0146474630c7 (diff) | |
download | sandhi-6d4c752aa0aaf41d7e764dbd81708f343a38c650.tar.gz sandhi-6d4c752aa0aaf41d7e764dbd81708f343a38c650.tar.bz2 sandhi-6d4c752aa0aaf41d7e764dbd81708f343a38c650.zip |
guard against empty consumes
-rw-r--r-- | lib/block_task.cpp | 1 | ||||
-rw-r--r-- | lib/gras_impl/input_buffer_queues.hpp | 1 |
2 files changed, 2 insertions, 0 deletions
diff --git a/lib/block_task.cpp b/lib/block_task.cpp index 1a6c447..a0d4ba8 100644 --- a/lib/block_task.cpp +++ b/lib/block_task.cpp @@ -229,6 +229,7 @@ void BlockActor::handle_task(void) void BlockActor::consume(const size_t i, const size_t items) { + if (items == 0) return; this->items_consumed[i] += items; const size_t bytes = items*this->input_items_sizes[i]; this->input_queues.consume(i, bytes); diff --git a/lib/gras_impl/input_buffer_queues.hpp b/lib/gras_impl/input_buffer_queues.hpp index f2738ee..5ae8951 100644 --- a/lib/gras_impl/input_buffer_queues.hpp +++ b/lib/gras_impl/input_buffer_queues.hpp @@ -225,6 +225,7 @@ GRAS_FORCE_INLINE void InputBufferQueues::accumulate(const size_t i, const size_ GRAS_FORCE_INLINE void InputBufferQueues::consume(const size_t i, const size_t bytes_consumed) { + ASSERT(not _queues[i].empty()); SBuffer &front = _queues[i].front(); //assert that we dont consume past the bounds of the buffer |