avformat/mov: Free encryption data on error

Fixes memleak and Coverity issue #1439587.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
This commit is contained in:
Andreas Rheinhardt 2020-01-27 09:28:18 +01:00 committed by Michael Niedermayer
parent ab39f0d841
commit 3999c4b374
1 changed files with 4 additions and 2 deletions

View File

@ -6329,8 +6329,10 @@ static int mov_read_pssh(MOVContext *c, AVIOContext *pb, MOVAtom atom)
if (version > 0) {
kid_count = avio_rb32(pb);
if (kid_count >= INT_MAX / sizeof(*key_ids))
return AVERROR(ENOMEM);
if (kid_count >= INT_MAX / sizeof(*key_ids)) {
ret = AVERROR(ENOMEM);
goto finish;
}
for (unsigned int i = 0; i < kid_count && !pb->eof_reached; i++) {
unsigned int min_kid_count = FFMIN(FFMAX(i + 1, 1024), kid_count);