From ae5f5cc1c5d9919cc66efec2eea97f673228da44 Mon Sep 17 00:00:00 2001 From: Jean-Marc Valin Date: Tue, 20 Sep 2016 01:44:22 -0400 Subject: [PATCH] Using OPUS_MOVE() instead of OPUS_COPY() to move redundancy bytes memcpy() aliasing bug caught by Felicia's encoder fuzzing test --- src/opus_encoder.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/opus_encoder.c b/src/opus_encoder.c index 40440100..0b666469 100644 --- a/src/opus_encoder.c +++ b/src/opus_encoder.c @@ -2196,7 +2196,7 @@ opus_int32 opus_encode_native(OpusEncoder *st, const opus_val16 *pcm, int frame_ /* Put CELT->SILK redundancy data in the right place. */ if (redundancy && celt_to_silk && st->mode==MODE_HYBRID && st->use_vbr) { - OPUS_COPY(data+ret, data+nb_compr_bytes, redundancy_bytes); + OPUS_MOVE(data+ret, data+nb_compr_bytes, redundancy_bytes); nb_compr_bytes = nb_compr_bytes+redundancy_bytes; } }