Fix for thread race heap-use-after-free

BUG=webp:384

Change-Id: I3a300b45ccae33470888cf2e35a7e937579c9409
This commit is contained in:
Yannis Guyon 2018-06-13 10:39:37 +02:00
parent c56a02d971
commit 569001f19f

View File

@ -283,10 +283,8 @@ static void RestoreContext(const MBContext* context, VP8Decoder* const dec,
static VP8StatusCode IDecError(WebPIDecoder* const idec, VP8StatusCode error) {
if (idec->state_ == STATE_VP8_DATA) {
VP8Io* const io = &idec->io_;
if (io->teardown != NULL) {
io->teardown(io);
}
// Synchronize the thread, clean-up and check for errors.
VP8ExitCritical((VP8Decoder*)idec->dec_, &idec->io_);
}
idec->state_ = STATE_ERROR;
return error;