summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libavcodec/4xm.c6
-rw-r--r--libavutil/mem.c5
2 files changed, 8 insertions, 3 deletions
diff --git a/libavcodec/4xm.c b/libavcodec/4xm.c
index 406ca728ad..e3d8486941 100644
--- a/libavcodec/4xm.c
+++ b/libavcodec/4xm.c
@@ -757,8 +757,10 @@ static int decode_i_frame(FourXContext *f, const uint8_t *buf, int length)
}
prestream = read_huffman_tables(f, prestream, buf + length - prestream);
- if (!prestream)
- return -1;
+ if (!prestream) {
+ av_log(f->avctx, AV_LOG_ERROR, "Error reading Huffman tables.\n");
+ return AVERROR_INVALIDDATA;
+ }
av_assert0(prestream <= buf + length);
diff --git a/libavutil/mem.c b/libavutil/mem.c
index 6d3efaabfa..a7fe60837b 100644
--- a/libavutil/mem.c
+++ b/libavutil/mem.c
@@ -323,7 +323,10 @@ static void fill32(uint8_t *dst, int len)
void av_memcpy_backptr(uint8_t *dst, int back, int cnt)
{
const uint8_t *src = &dst[-back];
- if (back <= 1) {
+ if (!back)
+ return;
+
+ if (back == 1) {
memset(dst, *src, cnt);
} else if (back == 2) {
fill16(dst, cnt);