BUG: Fixing case in which the pointer the data buffers doesn't
[openjpeg.git] / libopenjpeg / cio.c
index 05c7101c95fa2c05e85e0275e3e04ee9df8959c6..fd914ad04093ac3cdef87ae6fa08ce859773dd43 100644 (file)
@@ -406,6 +406,14 @@ OPJ_UINT32 opj_stream_read_data (opj_stream_private_t * p_stream,OPJ_BYTE * p_bu
                p_stream->m_byte_offset += p_stream->m_bytes_in_buffer;
                p_stream->m_bytes_in_buffer = 0;
        }
+  else
+  {
+    /* case where we are already at the end of the buffer
+       so reset the m_current_data to point to the start of the
+       stored buffer to get ready to read from disk*/
+    p_stream->m_current_data = p_stream->m_stored_data;
+  }
+
 
        while
                (true)