diff --git a/7.3.169 b/7.3.169 new file mode 100644 index 0000000..056ca99 --- /dev/null +++ b/7.3.169 @@ -0,0 +1,130 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.3.169 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.3.169 +Problem: Freeing memory already freed, warning from static code analyzer. +Solution: Initialize pointers to NULL, correct use of "mustfree". (partly by + Dominique Pelle) +Files: src/mis1.c + + +*** ../vim-7.3.168/src/misc1.c 2011-04-28 13:01:59.000000000 +0200 +--- src/misc1.c 2011-04-28 17:42:00.000000000 +0200 +*************** +*** 3505,3511 **** + if (enc_utf8 && var != NULL) + { + int len; +! char_u *pp; + + /* Convert from active codepage to UTF-8. Other conversions are + * not done, because they would fail for non-ASCII characters. */ +--- 3505,3511 ---- + if (enc_utf8 && var != NULL) + { + int len; +! char_u *pp = NULL; + + /* Convert from active codepage to UTF-8. Other conversions are + * not done, because they would fail for non-ASCII characters. */ +*************** +*** 3872,3882 **** + * Vim's version of getenv(). + * Special handling of $HOME, $VIM and $VIMRUNTIME. + * Also does ACP to 'enc' conversion for Win32. + */ + char_u * + vim_getenv(name, mustfree) + char_u *name; +! int *mustfree; /* set to TRUE when returned is allocated */ + { + char_u *p; + char_u *pend; +--- 3872,3884 ---- + * Vim's version of getenv(). + * Special handling of $HOME, $VIM and $VIMRUNTIME. + * Also does ACP to 'enc' conversion for Win32. ++ * "mustfree" is set to TRUE when returned is allocated, it must be ++ * initialized to FALSE by the caller. + */ + char_u * + vim_getenv(name, mustfree) + char_u *name; +! int *mustfree; + { + char_u *p; + char_u *pend; +*************** +*** 3898,3904 **** + if (enc_utf8) + { + int len; +! char_u *pp; + + /* Convert from active codepage to UTF-8. Other conversions are + * not done, because they would fail for non-ASCII characters. */ +--- 3900,3906 ---- + if (enc_utf8) + { + int len; +! char_u *pp = NULL; + + /* Convert from active codepage to UTF-8. Other conversions are + * not done, because they would fail for non-ASCII characters. */ +*************** +*** 3942,3948 **** + if (enc_utf8) + { + int len; +! char_u *pp; + + /* Convert from active codepage to UTF-8. Other conversions + * are not done, because they would fail for non-ASCII +--- 3944,3950 ---- + if (enc_utf8) + { + int len; +! char_u *pp = NULL; + + /* Convert from active codepage to UTF-8. Other conversions + * are not done, because they would fail for non-ASCII +*************** +*** 3950,3956 **** + acp_to_enc(p, (int)STRLEN(p), &pp, &len); + if (pp != NULL) + { +! if (mustfree) + vim_free(p); + p = pp; + *mustfree = TRUE; +--- 3952,3958 ---- + acp_to_enc(p, (int)STRLEN(p), &pp, &len); + if (pp != NULL) + { +! if (*mustfree) + vim_free(p); + p = pp; + *mustfree = TRUE; +*** ../vim-7.3.168/src/version.c 2011-04-28 17:30:05.000000000 +0200 +--- src/version.c 2011-04-28 17:48:04.000000000 +0200 +*************** +*** 716,717 **** +--- 716,719 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 169, + /**/ + +-- +A day without sunshine is like, well, night. + + /// Bram Moolenaar -- Bram@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 ///