mov: reset dref_count on realloc to keep values consistent.

This fixes a potential crash.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
pull/5/head
Michael Niedermayer 13 years ago
parent 35e0496a7b
commit 689e59b7ff
  1. 1
      libavformat/mov.c

@ -401,6 +401,7 @@ static int mov_read_dref(MOVContext *c, AVIOContext *pb, MOVAtom atom)
if (entries >= UINT_MAX / sizeof(*sc->drefs)) if (entries >= UINT_MAX / sizeof(*sc->drefs))
return AVERROR_INVALIDDATA; return AVERROR_INVALIDDATA;
av_free(sc->drefs); av_free(sc->drefs);
sc->drefs_count = 0;
sc->drefs = av_mallocz(entries * sizeof(*sc->drefs)); sc->drefs = av_mallocz(entries * sizeof(*sc->drefs));
if (!sc->drefs) if (!sc->drefs)
return AVERROR(ENOMEM); return AVERROR(ENOMEM);

Loading…
Cancel
Save