* smallprint.cc (__small_vsprintf): Free allocated buffer rather than pointer
into the buffer.
This commit is contained in:
parent
da061b9cd2
commit
1264c4d4fa
|
@ -1,3 +1,8 @@
|
||||||
|
2008-03-02 Christopher Faylor <me+cygwin@cgf.cx>
|
||||||
|
|
||||||
|
* smallprint.cc (__small_vsprintf): Free allocated buffer rather than
|
||||||
|
pointer into the buffer.
|
||||||
|
|
||||||
2008-03-01 Christopher Faylor <me+cygwin@cgf.cx>
|
2008-03-01 Christopher Faylor <me+cygwin@cgf.cx>
|
||||||
|
|
||||||
* cygtls.h (_cygtls::handle_threadlist_exception): Eliminate.
|
* cygtls.h (_cygtls::handle_threadlist_exception): Eliminate.
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
/* smallprint.cc: small print routines for WIN32
|
/* smallprint.cc: small print routines for WIN32
|
||||||
|
|
||||||
Copyright 1996, 1998, 2000, 2001, 2002, 2003, 2005, 2006, 2007 Red Hat, Inc.
|
Copyright 1996, 1998, 2000, 2001, 2002, 2003, 2005, 2006, 2007, 2008
|
||||||
|
Red Hat, Inc.
|
||||||
|
|
||||||
This file is part of Cygwin.
|
This file is part of Cygwin.
|
||||||
|
|
||||||
|
@ -195,17 +196,18 @@ __small_vsprintf (char *dst, const char *fmt, va_list ap)
|
||||||
us = va_arg (ap, PUNICODE_STRING);
|
us = va_arg (ap, PUNICODE_STRING);
|
||||||
wfillin:
|
wfillin:
|
||||||
{
|
{
|
||||||
char *tmp;
|
char *tmpbuf;
|
||||||
|
|
||||||
if (!sys_wcstombs_alloc (&tmp, HEAP_NOTHEAP, us->Buffer,
|
if (!sys_wcstombs_alloc (&tmpbuf, HEAP_NOTHEAP, us->Buffer,
|
||||||
us->Length / sizeof (WCHAR)))
|
us->Length / sizeof (WCHAR)))
|
||||||
{
|
{
|
||||||
s = "invalid UNICODE_STRING";
|
s = "invalid UNICODE_STRING";
|
||||||
goto fillin;
|
goto fillin;
|
||||||
}
|
}
|
||||||
|
char *tmp = tmpbuf;
|
||||||
for (i = 0; *tmp && i < n; i++)
|
for (i = 0; *tmp && i < n; i++)
|
||||||
*dst++ = *tmp++;
|
*dst++ = *tmp++;
|
||||||
free (tmp);
|
free (tmpbuf);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
|
Loading…
Reference in New Issue