mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
mov: Fix handling of zero-length metadata values
Since3cec81f4d4
, a zero-length metadata value would try to allocate 2*0 bytes, where av_malloc() returns NULL. Always add one to the allocated length, to allow space for a null terminator in the zero-length case. Incidentally, this fixes fate-alac on RVCT 4.0, where a compiler bug seems to mess up the mov muxer to the point that it writes the wrong sort of metadata. Previously this bug was undetected, but since3cec81f4d4
such mov files started returning AVERROR(ENOMEM) in the mov demuxer. Signed-off-by: Martin Storsjö <martin@martin.st>
This commit is contained in:
parent
10d4c5e55e
commit
6f4364aba9
@ -383,7 +383,7 @@ static int mov_read_udta_string(MOVContext *c, AVIOContext *pb, MOVAtom atom)
|
||||
return AVERROR_INVALIDDATA;
|
||||
|
||||
// allocate twice as much as worst-case
|
||||
str_size_alloc = raw ? str_size + 1 : str_size * 2;
|
||||
str_size_alloc = (raw ? str_size : str_size * 2) + 1;
|
||||
str = av_malloc(str_size_alloc);
|
||||
if (!str)
|
||||
return AVERROR(ENOMEM);
|
||||
|
Loading…
Reference in New Issue
Block a user