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>
pull/343/head
Andreas Rheinhardt 5 years ago committed by Michael Niedermayer
parent ab39f0d841
commit 3999c4b374
  1. 6
      libavformat/mov.c

@ -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);

Loading…
Cancel
Save