[vim] - patchlevel 009

Karsten Hopp karsten at fedoraproject.org
Wed Sep 22 15:21:58 UTC 2010


commit a8d4498fe503e06cac1ad02333f7c7599be8a53a
Author: Karsten Hopp <karsten at redhat.com>
Date:   Wed Sep 22 16:34:09 2010 +0200

    - patchlevel 009

 7.3.009 |   99 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 99 insertions(+), 0 deletions(-)
---
diff --git a/7.3.009 b/7.3.009
new file mode 100644
index 0000000..317677d
--- /dev/null
+++ b/7.3.009
@@ -0,0 +1,99 @@
+To: vim-dev at vim.org
+Subject: Patch 7.3.009
+Fcc: outbox
+From: Bram Moolenaar <Bram at moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.3.009
+Problem:    Win32: Crash on Windows when using a bad argument for strftime().
+	    (Christian Brabandt)
+Solution:   Use the bad_param_handler(). (Mike Williams)
+Files:	    src/os_win32.c
+
+
+*** ../vim-7.3.008/src/os_win32.c	2010-08-15 21:57:27.000000000 +0200
+--- src/os_win32.c	2010-09-21 17:02:54.000000000 +0200
+***************
+*** 1615,1620 ****
+--- 1615,1649 ----
+      return TRUE;
+  }
+  
++ #if ((defined(__MINGW32__) || defined (__CYGWIN32__)) && \
++         __MSVCRT_VERSION__ >= 0x800) || (defined(_MSC_VER) && _MSC_VER >= 1400)
++ /*
++  * Bad parameter handler.
++  *
++  * Certain MS CRT functions will intentionally crash when passed invalid
++  * parameters to highlight possible security holes.  Setting this function as
++  * the bad parameter handler will prevent the crash.
++  *
++  * In debug builds the parameters contain CRT information that might help track
++  * down the source of a problem, but in non-debug builds the arguments are all
++  * NULL/0.  Debug builds will also produce assert dialogs from the CRT, it is
++  * worth allowing these to make debugging of issues easier.
++  */
++     static void
++ bad_param_handler(const wchar_t *expression,
++     const wchar_t *function,
++     const wchar_t *file,
++     unsigned int line,
++     uintptr_t pReserved)
++ {
++ }
++ 
++ # define SET_INVALID_PARAM_HANDLER \
++ 	((void)_set_invalid_parameter_handler(bad_param_handler))
++ #else
++ # define SET_INVALID_PARAM_HANDLER
++ #endif
++ 
+  #ifdef FEAT_GUI_W32
+  
+  /*
+***************
+*** 1627,1632 ****
+--- 1656,1664 ----
+      extern int _fmode;
+  #endif
+  
++     /* Silently handle invalid parameters to CRT functions */
++     SET_INVALID_PARAM_HANDLER;
++ 
+      /* Let critical errors result in a failure, not in a dialog box.  Required
+       * for the timestamp test to work on removed floppies. */
+      SetErrorMode(SEM_FAILCRITICALERRORS);
+***************
+*** 2103,2108 ****
+--- 2135,2143 ----
+      extern int _fmode;
+  #endif
+  
++     /* Silently handle invalid parameters to CRT functions */
++     SET_INVALID_PARAM_HANDLER;
++ 
+      /* Let critical errors result in a failure, not in a dialog box.  Required
+       * for the timestamp test to work on removed floppies. */
+      SetErrorMode(SEM_FAILCRITICALERRORS);
+*** ../vim-7.3.008/src/version.c	2010-09-21 16:56:29.000000000 +0200
+--- src/version.c	2010-09-21 17:27:36.000000000 +0200
+***************
+*** 716,717 ****
+--- 716,719 ----
+  {   /* Add new patch number below this line */
++ /**/
++     9,
+  /**/
+
+-- 
+Wizards had always known that the act of observation changed the thing that
+was observed, and sometimes forgot that it also changed the observer too.
+			Terry Pratchett  -  Interesting times
+
+ /// Bram Moolenaar -- Bram at Moolenaar.net -- http://www.Moolenaar.net   \\\
+///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\        download, build and distribute -- http://www.A-A-P.org        ///
+ \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///


More information about the scm-commits mailing list