# HG changeset patch # User Bram Moolenaar # Date 1304005724 -7200 # Node ID 5f45bacf31efef21f9b60543504d1832ded3e098 # Parent 66b2cb6f9e39dbf4a3f8692ff07b7f6c59f8b0ef updated for version 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) diff --git a/src/misc1.c b/src/misc1.c --- a/src/misc1.c +++ b/src/misc1.c @@ -3505,7 +3505,7 @@ init_homedir() if (enc_utf8 && var != NULL) { int len; - char_u *pp; + 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,11 +3872,13 @@ expand_env_esc(srcp, dst, dstlen, esc, o * 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; /* set to TRUE when returned is allocated */ + int *mustfree; { char_u *p; char_u *pend; @@ -3898,7 +3900,7 @@ vim_getenv(name, mustfree) if (enc_utf8) { int len; - char_u *pp; + 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,7 +3944,7 @@ vim_getenv(name, mustfree) if (enc_utf8) { int len; - char_u *pp; + char_u *pp = NULL; /* Convert from active codepage to UTF-8. Other conversions * are not done, because they would fail for non-ASCII @@ -3950,7 +3952,7 @@ vim_getenv(name, mustfree) acp_to_enc(p, (int)STRLEN(p), &pp, &len); if (pp != NULL) { - if (mustfree) + if (*mustfree) vim_free(p); p = pp; *mustfree = TRUE; diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -715,6 +715,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 169, +/**/ 168, /**/ 167,