Fixed bug when reading data from buffer queue with more than one buffers

The internal slice_bufq() function reads and dequeues all available data instead of requested number of bytes in case there is more than one buffer in the queue.