From acfba02310a1b8159440dd71bdf7c7fefb7ef8fb Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Sat, 15 Nov 2008 19:27:30 +0100 Subject: 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. --- src/decoder_api.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src/decoder_api.c') diff --git a/src/decoder_api.c b/src/decoder_api.c index 08e6b1956..0aca4da95 100644 --- a/src/decoder_api.c +++ b/src/decoder_api.c @@ -106,6 +106,9 @@ size_t decoder_read(struct decoder *decoder, assert(is != NULL); assert(buffer != NULL); + if (length == 0) + return 0; + while (true) { /* XXX don't allow decoder==NULL */ if (decoder != NULL && -- cgit v1.2.3