avcodec/bmp_parser: delay frame end detection to the next header or EOF

Fixes Ticket3687

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
Michael Niedermayer 2014-09-13 17:46:18 +02:00
parent 3c6d824b80
commit ceb2fe027f
1 changed files with 8 additions and 4 deletions

View File

@ -62,10 +62,12 @@ restart:
bpc->pc.frame_start_found = 0;
continue;
}
if (bpc->fsize <= ihsize + 14)
bpc->fsize = INT_MAX/2;
bpc->pc.frame_start_found++;
bpc->remaining_size = bpc->fsize + i - 17;
if (bpc->pc.index + i > 17) {
next = i - 17;
} else
goto restart;
} else if (bpc->pc.frame_start_found)
bpc->pc.frame_start_found++;
@ -77,7 +79,9 @@ restart:
bpc->remaining_size -= i;
if (bpc->remaining_size)
goto flush;
next = i;
bpc->pc.frame_start_found = 0;
goto restart;
}
}