Module: wine Branch: master Commit: 9614283996933feac38163e89dc6ebb3d5254e82 URL: http://source.winehq.org/git/wine.git/?a=commit;h=9614283996933feac38163e89d...
Author: Grazvydas Ignotas notasas@gmail.com Date: Sat Jun 14 02:23:54 2014 +0300
msvcrt: Free old buffer properly in setvbuf.
---
dlls/msvcrt/file.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/dlls/msvcrt/file.c b/dlls/msvcrt/file.c index 7ebf6d2..178f164 100644 --- a/dlls/msvcrt/file.c +++ b/dlls/msvcrt/file.c @@ -4465,7 +4465,10 @@ int CDECL MSVCRT_setvbuf(MSVCRT_FILE* file, char *buf, int mode, MSVCRT_size_t s { MSVCRT__lock_file(file); if(file->_bufsiz) { - MSVCRT_free(file->_base); + if(file->_flag & MSVCRT__IOMYBUF) + MSVCRT_free(file->_base); + file->_flag &= ~MSVCRT__IOMYBUF; + file->_base = file->_ptr = NULL; file->_bufsiz = 0; file->_cnt = 0; }