From: Andre Noll Date: Tue, 5 Jan 2010 22:07:29 +0000 (+0100) Subject: Fix a bug in the compress filter in case of odd buffer sizes. X-Git-Tag: v0.4.2~188 X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=commitdiff_plain;h=b47dff48fac126f844f6497189b190a5a00957ec;ds=sidebyside Fix a bug in the compress filter in case of odd buffer sizes. --- diff --git a/compress_filter.c b/compress_filter.c index 14df8d96..a0b53bde 100644 --- a/compress_filter.c +++ b/compress_filter.c @@ -110,6 +110,10 @@ next_buffer: return; btr_merge(btrn, fn->min_iqs); length = btr_next_buffer(btrn, &inbuf) & ~(size_t)1; + if (length == 0) { /* eof and 1 byte available */ + ret = -E_COMPRESS_EOF; + goto err; + } ip = (int16_t *)inbuf; if (inplace) op = ip; diff --git a/error.h b/error.h index 538c757a..e47fa152 100644 --- a/error.h +++ b/error.h @@ -85,6 +85,7 @@ extern const char **para_errlist[]; #define COMPRESS_FILTER_ERRORS \ PARA_ERROR(COMPRESS_SYNTAX, "syntax error in compress filter config"), \ + PARA_ERROR(COMPRESS_EOF, "compress: end of file"), \ #define WAV_FILTER_ERRORS \