| To: vim_dev@googlegroups.com |
| Subject: Patch 7.3.169 |
| Fcc: outbox |
| From: Bram Moolenaar <Bram@moolenaar.net> |
| 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 |
| |
| |
| |
| |
| |
| *** 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; |
| |
| |
| |
| *** 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 /// |