Grazvydas Ignotas : msvcrt: Free old buffer properly in setvbuf.

Alexandre Julliard julliard at winehq.org
Tue Jun 17 14:40:51 CDT 2014


Module: wine
Branch: master
Commit: 9614283996933feac38163e89dc6ebb3d5254e82
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=9614283996933feac38163e89dc6ebb3d5254e82

Author: Grazvydas Ignotas <notasas at 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;
   }




More information about the wine-cvs mailing list