Module: libav
Branch: release/0.7
Commit: 685940da4c843beb9283a21718cbd2fa4fa5d796

Author:    Laurent Aimar <[email protected]>
Committer: Reinhard Tartler <[email protected]>
Date:      Wed Sep  7 22:17:39 2011 +0200

Fixed invalid writes in wavpack decoder on corrupted bitstreams.

Signed-off-by: Martin Storsjö <[email protected]>
(cherry picked from commit 0aedab03405849962b469277afe047aa2c61a87f)

Signed-off-by: Anton Khirnov <[email protected]>

---

 libavcodec/wavpack.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/libavcodec/wavpack.c b/libavcodec/wavpack.c
index 64725c7..5bd677e 100644
--- a/libavcodec/wavpack.c
+++ b/libavcodec/wavpack.c
@@ -1113,7 +1113,7 @@ static int wavpack_decode_block(AVCodecContext *avctx, 
int block_no,
             int16_t *dst = (int16_t*)samples + 1;
             int16_t *src = (int16_t*)samples;
             int cnt = samplecount;
-            while(cnt--){
+            while(cnt-- > 0){
                 *dst = *src;
                 src += channel_stride;
                 dst += channel_stride;
@@ -1122,7 +1122,7 @@ static int wavpack_decode_block(AVCodecContext *avctx, 
int block_no,
             int32_t *dst = (int32_t*)samples + 1;
             int32_t *src = (int32_t*)samples;
             int cnt = samplecount;
-            while(cnt--){
+            while(cnt-- > 0){
                 *dst = *src;
                 src += channel_stride;
                 dst += channel_stride;
@@ -1131,7 +1131,7 @@ static int wavpack_decode_block(AVCodecContext *avctx, 
int block_no,
             float *dst = (float*)samples + 1;
             float *src = (float*)samples;
             int cnt = samplecount;
-            while(cnt--){
+            while(cnt-- > 0){
                 *dst = *src;
                 src += channel_stride;
                 dst += channel_stride;

_______________________________________________
libav-commits mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-commits

Reply via email to