Andrew Talbot wrote:
Changelog: avifil32: Fix some memory leaks.
- if (mmioSeek(This->paf->hmmio, This->paf->dwNextFramePos, SEEK_SET) == -1) - return AVIERR_FILEWRITE; - if (mmioCreateChunk(This->paf->hmmio, &ck, 0) != S_OK) - return AVIERR_FILEWRITE; - if (mmioWrite(This->paf->hmmio, (HPSTR)lppc, ck.cksize) != ck.cksize) - return AVIERR_FILEWRITE; - if (mmioAscend(This->paf->hmmio, &ck, 0) != S_OK) + if (mmioSeek(This->paf->hmmio, This->paf->dwNextFramePos, SEEK_SET) == -1 || + mmioCreateChunk(This->paf->hmmio, &ck, 0) != S_OK || + mmioWrite(This->paf->hmmio, (HPSTR)lppc, ck.cksize) != ck.cksize || + mmioAscend(This->paf->hmmio, &ck, 0) != S_OK) + {
Doesn't this mean that every one of those 4 mmio-calls are executed? In the previous logic we would bail out after one failure. -- Cheers, Paul.