[vim] - patchlevel 349

Karsten Hopp karsten at fedoraproject.org
Fri Dec 23 21:30:58 UTC 2011


commit ffc5796f96dd0d47f9b614b6300824b87bebd09e
Author: Karsten Hopp <karsten at redhat.com>
Date:   Fri Dec 23 22:30:47 2011 +0100

    - patchlevel 349

 7.3.349 |   88 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 88 insertions(+), 0 deletions(-)
---
diff --git a/7.3.349 b/7.3.349
new file mode 100644
index 0000000..ac519af
--- /dev/null
+++ b/7.3.349
@@ -0,0 +1,88 @@
+To: vim_dev at googlegroups.com
+Subject: Patch 7.3.349
+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.349
+Problem:    When running out of memory during startup trying to open a
+	    swapfile will loop forever.
+Solution:   Let findswapname() set dirp to NULL if out of memory.
+Files:	    src/memline.c
+
+
+*** ../vim-7.3.348/src/memline.c	2011-06-13 01:07:22.000000000 +0200
+--- src/memline.c	2011-10-26 11:26:06.000000000 +0200
+***************
+*** 621,626 ****
+--- 621,628 ----
+  	    break;
+  	fname = findswapname(buf, &dirp, mfp->mf_fname);
+  						    /* alloc's fname */
++ 	if (dirp == NULL)	    /* out of memory */
++ 	    break;
+  	if (fname == NULL)	    /* no file name found for this dir */
+  	    continue;
+  
+***************
+*** 744,749 ****
+--- 746,753 ----
+  	 * and creating it, another Vim creates the file.  In that case the
+  	 * creation will fail and we will use another directory. */
+  	fname = findswapname(buf, &dirp, NULL); /* allocates fname */
++ 	if (dirp == NULL)
++ 	    break;  /* out of memory */
+  	if (fname == NULL)
+  	    continue;
+  	if (mf_open_file(mfp, fname) == OK)	/* consumes fname! */
+***************
+*** 4114,4119 ****
+--- 4118,4124 ----
+   *
+   * Several names are tried to find one that does not exist
+   * Returns the name in allocated memory or NULL.
++  * When out of memory "dirp" is set to NULL.
+   *
+   * Note: If BASENAMELEN is not correct, you will get error messages for
+   *	 not being able to open the swap or undo file
+***************
+*** 4157,4163 ****
+       * First allocate some memory to put the directory name in.
+       */
+      dir_name = alloc((unsigned)STRLEN(*dirp) + 1);
+!     if (dir_name != NULL)
+  	(void)copy_option_part(dirp, dir_name, 31000, ",");
+  
+      /*
+--- 4162,4170 ----
+       * First allocate some memory to put the directory name in.
+       */
+      dir_name = alloc((unsigned)STRLEN(*dirp) + 1);
+!     if (dir_name == NULL)
+! 	*dirp = NULL;
+!     else
+  	(void)copy_option_part(dirp, dir_name, 31000, ",");
+  
+      /*
+*** ../vim-7.3.348/src/version.c	2011-10-26 11:40:56.000000000 +0200
+--- src/version.c	2011-10-26 11:43:05.000000000 +0200
+***************
+*** 716,717 ****
+--- 716,719 ----
+  {   /* Add new patch number below this line */
++ /**/
++     349,
+  /**/
+
+-- 
+I AM THANKFUL...
+...for all the complaining I hear about the government
+because it means we have freedom of speech.
+
+ /// Bram Moolenaar -- Bram at Moolenaar.net -- http://www.Moolenaar.net   \\\
+///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\  an exciting new programming language -- http://www.Zimbu.org        ///
+ \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///


More information about the scm-commits mailing list