jpeg2000: fix null pointer dereference in case of malloc failure

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
pull/37/head
Michael Niedermayer 11 years ago
parent 09927f3eaa
commit 9e477a3770
  1. 20
      libavcodec/jpeg2000.c

@ -507,17 +507,19 @@ void ff_jpeg2000_cleanup(Jpeg2000Component *comp, Jpeg2000CodingStyle *codsty)
Jpeg2000ResLevel *reslevel = comp->reslevel + reslevelno; Jpeg2000ResLevel *reslevel = comp->reslevel + reslevelno;
for (bandno = 0; bandno < reslevel->nbands; bandno++) { for (bandno = 0; bandno < reslevel->nbands; bandno++) {
Jpeg2000Band *band = reslevel->band + bandno; if (reslevel->band) {
for (precno = 0; precno < reslevel->num_precincts_x * reslevel->num_precincts_y; precno++) { Jpeg2000Band *band = reslevel->band + bandno;
if (band->prec) { for (precno = 0; precno < reslevel->num_precincts_x * reslevel->num_precincts_y; precno++) {
Jpeg2000Prec *prec = band->prec + precno; if (band->prec) {
av_freep(&prec->zerobits); Jpeg2000Prec *prec = band->prec + precno;
av_freep(&prec->cblkincl); av_freep(&prec->zerobits);
av_freep(&prec->cblk); av_freep(&prec->cblkincl);
av_freep(&prec->cblk);
}
} }
}
av_freep(&band->prec); av_freep(&band->prec);
}
} }
av_freep(&reslevel->band); av_freep(&reslevel->band);
} }

Loading…
Cancel
Save