decoder: check length==0 in decoder_read()
When the caller passes length==0, decoder_read() entered an endless loop. Check that condition before entering the "while" loop.
This commit is contained in:
@@ -26,6 +26,7 @@
|
||||
#endif
|
||||
|
||||
#include <glib.h>
|
||||
#include <assert.h>
|
||||
|
||||
static const struct input_plugin *const input_plugins[] = {
|
||||
&input_plugin_file,
|
||||
@@ -84,6 +85,9 @@ input_stream_seek(struct input_stream *is, off_t offset, int whence)
|
||||
size_t
|
||||
input_stream_read(struct input_stream *is, void *ptr, size_t size)
|
||||
{
|
||||
assert(ptr != NULL);
|
||||
assert(size > 0);
|
||||
|
||||
return is->plugin->read(is, ptr, size);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user