Patch 7.3.166
Problem:    Buffer on the stack may be too big
Solution:   Allocate the space.
Files:      src/option.c


*** ../vim-7.3.165/src/option.c 2011-04-28 12:56:57.000000000 +0200
--- src/option.c        2011-04-15 20:49:54.000000000 +0200
***************
*** 9185,9191 ****
      int               expand;
  {
      char_u    *s;
!     char_u    buf[MAXPATHL];
  
      if (fprintf(fd, "%s %s=", cmd, name) < 0)
        return FAIL;
--- 9185,9191 ----
      int               expand;
  {
      char_u    *s;
!     char_u    *buf;
  
      if (fprintf(fd, "%s %s=", cmd, name) < 0)
        return FAIL;
***************
*** 9203,9211 ****
--- 9203,9218 ----
        }
        else if (expand)
        {
+           buf = alloc(MAXPATHL);
+           if (buf == NULL)
+               return FAIL;
            home_replace(NULL, *valuep, buf, MAXPATHL, FALSE);
            if (put_escstr(fd, buf, 2) == FAIL)
+           {
+               vim_free(buf);
                return FAIL;
+           }
+           vim_free(buf);
        }
        else if (put_escstr(fd, *valuep, 2) == FAIL)
            return FAIL;
*** ../vim-7.3.165/src/version.c        2011-04-28 17:21:49.000000000 +0200
--- src/version.c       2011-04-28 17:23:24.000000000 +0200
***************
*** 716,717 ****
--- 716,719 ----
  {   /* Add new patch number below this line */
+ /**/
+     166,
  /**/

-- 
He who laughs last, thinks slowest.

 /// Bram Moolenaar -- [email protected] -- 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    ///

-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

Raspunde prin e-mail lui