summaryrefslogtreecommitdiff
path: root/libavcodec/xxan.c
diff options
context:
space:
mode:
authorAnton Khirnov <anton@khirnov.net>2012-11-16 06:31:39 +0100
committerAnton Khirnov <anton@khirnov.net>2013-01-06 13:31:39 +0100
commit4aebb8d999f0a5005081c50211be3d3c7474d330 (patch)
treeb7325cbdecb1851004febbe6cb98ff908c6cfef8 /libavcodec/xxan.c
parentaaf208329f6ed21f51d7bcfa6b50ea41e0825c4e (diff)
xxan: return meaningful error codes.
Diffstat (limited to 'libavcodec/xxan.c')
-rw-r--r--libavcodec/xxan.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/libavcodec/xxan.c b/libavcodec/xxan.c
index 9e874540b5..c28ba2f964 100644
--- a/libavcodec/xxan.c
+++ b/libavcodec/xxan.c
@@ -133,7 +133,7 @@ static int xan_unpack(XanContext *s,
}
if (dest + size + size2 > dest_end ||
dest - orig_dest + size < back)
- return -1;
+ return AVERROR_INVALIDDATA;
bytestream2_get_buffer(&s->gb, dest, size);
dest += size;
av_memcpy_backptr(dest, back, size2);
@@ -143,7 +143,7 @@ static int xan_unpack(XanContext *s,
size = finish ? opcode & 3 : ((opcode & 0x1f) << 2) + 4;
if (dest_end - dest < size)
- return -1;
+ return AVERROR_INVALIDDATA;
bytestream2_get_buffer(&s->gb, dest, size);
dest += size;
if (finish)
@@ -167,7 +167,7 @@ static int xan_decode_chroma(AVCodecContext *avctx, unsigned chroma_off)
return 0;
if (chroma_off + 4 >= bytestream2_get_bytes_left(&s->gb)) {
av_log(avctx, AV_LOG_ERROR, "Invalid chroma block position\n");
- return -1;
+ return AVERROR_INVALIDDATA;
}
bytestream2_seek(&s->gb, chroma_off + 4, SEEK_SET);
mode = bytestream2_get_le16(&s->gb);
@@ -178,7 +178,7 @@ static int xan_decode_chroma(AVCodecContext *avctx, unsigned chroma_off)
if (offset >= bytestream2_get_bytes_left(&s->gb)) {
av_log(avctx, AV_LOG_ERROR, "Invalid chroma block offset\n");
- return -1;
+ return AVERROR_INVALIDDATA;
}
bytestream2_skip(&s->gb, offset);
@@ -186,7 +186,7 @@ static int xan_decode_chroma(AVCodecContext *avctx, unsigned chroma_off)
dec_size = xan_unpack(s, s->scratch_buffer, s->buffer_size);
if (dec_size < 0) {
av_log(avctx, AV_LOG_ERROR, "Chroma unpacking failed\n");
- return -1;
+ return dec_size;
}
U = s->pic.data[1];
@@ -384,7 +384,7 @@ static int xan_decode_frame(AVCodecContext *avctx,
break;
default:
av_log(avctx, AV_LOG_ERROR, "Unknown frame type %d\n", ftype);
- return -1;
+ return AVERROR_INVALIDDATA;
}
if (ret)
return ret;