summaryrefslogtreecommitdiff
path: root/libavformat/nutdec.c
diff options
context:
space:
mode:
authorMans Rullgard <mans@mansr.com>2012-04-18 20:48:36 +0100
committerMans Rullgard <mans@mansr.com>2012-04-18 23:54:20 +0100
commit9d72c0527c5b3dbfdf4a8cad3f306b2891dc3ea9 (patch)
tree384c9f621f42c076ac631482175527210ad8fdc5 /libavformat/nutdec.c
parent0f53601ac6b88196e2cae07a4c3aad6810413261 (diff)
nutdec: add malloc check and fix const to non-const conversion warnings
Signed-off-by: Mans Rullgard <mans@mansr.com>
Diffstat (limited to 'libavformat/nutdec.c')
-rw-r--r--libavformat/nutdec.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/libavformat/nutdec.c b/libavformat/nutdec.c
index 004a2ea255..f3cb4d8838 100644
--- a/libavformat/nutdec.c
+++ b/libavformat/nutdec.c
@@ -305,14 +305,18 @@ static int decode_main_header(NUTContext *nut)
GET_V(nut->header_count, tmp < 128U)
nut->header_count++;
for (i = 1; i < nut->header_count; i++) {
+ uint8_t *hdr;
GET_V(nut->header_len[i], tmp > 0 && tmp < 256);
rem -= nut->header_len[i];
if (rem < 0) {
av_log(s, AV_LOG_ERROR, "invalid elision header\n");
return AVERROR_INVALIDDATA;
}
- nut->header[i] = av_malloc(nut->header_len[i]);
- avio_read(bc, nut->header[i], nut->header_len[i]);
+ hdr = av_malloc(nut->header_len[i]);
+ if (!hdr)
+ return AVERROR(ENOMEM);
+ avio_read(bc, hdr, nut->header_len[i]);
+ nut->header[i] = hdr;
}
assert(nut->header_len[0] == 0);
}