* path.cc (path_conv::set_normalized_path): Use crealloc_abort to avoid a

memory leak.
* path.h (path_conv::operator =): Just use cstrdup to allocate normalized_path,
avoiding attempt to free a pointer which is allocated in another pc.
This commit is contained in:
Christopher Faylor 2010-04-09 16:51:08 +00:00
parent 5d239c6195
commit 412f3e61d4
3 changed files with 10 additions and 2 deletions

View File

@ -1,3 +1,11 @@
2010-04-09 Christopher Faylor <me+cygwin@cgf.cx>
* path.cc (path_conv::set_normalized_path): Use crealloc_abort to avoid
a memory leak.
* path.h (path_conv::operator =): Just use cstrdup to allocate
normalized_path, avoiding attempt to free a pointer which is allocated
in another pc.
2010-04-07 Corinna Vinschen <corinna@vinschen.de>
* include/cygwin/version.h: Bump DLL minor version number to 4.

View File

@ -377,7 +377,7 @@ path_conv::set_normalized_path (const char *path_copy)
if (path_copy)
{
size_t n = strlen (path_copy) + 1;
char *p = (char *) cmalloc_abort (HEAP_STR, n);
char *p = (char *) crealloc_abort ((void *) normalized_path, n);
normalized_path = (const char *) memcpy (p, path_copy, n);
}
}

View File

@ -217,7 +217,7 @@ class path_conv
{
memcpy (this, &pc, sizeof pc);
path = cstrdup (pc.path);
set_normalized_path (pc.normalized_path);
normalized_path = cstrdup(pc.normalized_path);
wide_path = NULL;
return *this;
}