MFC r315745:
Cherry-pick libcxxrt commit 8a853717e61d5d55cbdf74d9d0a7545da5d5ff92: Author: David Chisnall <theraven@FreeBSD.org> Date: Wed Mar 22 12:27:08 2017 +0000 Simplify some code. realloc() with a null pointer is equivalent to malloc, so we don't need to handle the two cases independently. Fixes #46 This should help with lang/beignet and other programs, which expect __cxa_demangle(name, NULL, NULL, &status) to return zero in status. PR: 213732
This commit is contained in:
parent
a4e9b8e62c
commit
f8ea12d9ac
@ -86,15 +86,7 @@ extern "C" char* __cxa_demangle(const char* mangled_name,
|
||||
if (NULL != demangled)
|
||||
{
|
||||
size_t len = strlen(demangled);
|
||||
if (buf == NULL)
|
||||
{
|
||||
if (n)
|
||||
{
|
||||
*n = len;
|
||||
}
|
||||
return demangled;
|
||||
}
|
||||
if (*n < len+1)
|
||||
if (!buf || (*n < len+1))
|
||||
{
|
||||
buf = static_cast<char*>(realloc(buf, len+1));
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user