Fix a couple of nasty heap corruption bugs.
- When replacing the buffer pointer with another one, the allocated length wasn't updated. As the TI encoder relies of those being matched up (it e.g. does a memset(pBuffer, 0, nAllocLen) at certain places), this could lead to random memory being overwritten (or to a segfault when reaching the end of the mapping) - When replacing the buffer, the old buffer wasn't saved and restored before calling freeBuffer. This led to a different address passed to free() than was returned by malloc(), could lead to all kinds of weird, undefined behaviour.
Loading
Please register or sign in to comment