avformat/id3v2: check the return value of avio_close_dyn_buf()
Fixes ticket #10424. Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: James Almer <jamrial@gmail.com>
This commit is contained in:
parent
9834660601
commit
25ce1c8333
@ -246,7 +246,7 @@ static int decode_str(AVFormatContext *s, AVIOContext *pb, int encoding,
|
|||||||
int ret;
|
int ret;
|
||||||
uint8_t tmp;
|
uint8_t tmp;
|
||||||
uint32_t ch = 1;
|
uint32_t ch = 1;
|
||||||
int left = *maxread;
|
int left = *maxread, dynsize;
|
||||||
unsigned int (*get)(AVIOContext*) = avio_rb16;
|
unsigned int (*get)(AVIOContext*) = avio_rb16;
|
||||||
AVIOContext *dynbuf;
|
AVIOContext *dynbuf;
|
||||||
|
|
||||||
@ -308,7 +308,9 @@ static int decode_str(AVFormatContext *s, AVIOContext *pb, int encoding,
|
|||||||
if (ch)
|
if (ch)
|
||||||
avio_w8(dynbuf, 0);
|
avio_w8(dynbuf, 0);
|
||||||
|
|
||||||
avio_close_dyn_buf(dynbuf, dst);
|
dynsize = avio_close_dyn_buf(dynbuf, dst);
|
||||||
|
if (dynsize <= 0)
|
||||||
|
return AVERROR(ENOMEM);
|
||||||
*maxread = left;
|
*maxread = left;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user