From 414b9890d0ae192e44db30d0dabb1c03186327dc Mon Sep 17 00:00:00 2001 From: David Chisnall Date: Sat, 10 Mar 2012 17:47:44 +0000 Subject: Check for null pointer arguments in demangler. --- src/typeinfo.cc | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/src/typeinfo.cc b/src/typeinfo.cc index fab4015..7fb7486 100644 --- a/src/typeinfo.cc +++ b/src/typeinfo.cc @@ -65,18 +65,30 @@ extern "C" char* __cxa_demangle(const char* mangled_name, { memcpy(buf, demangled, len); buf[len] = 0; - *n = len; - *status = 0; + if (n) + { + *n = len; + } + if (status) + { + *status = 0; + } } else { - *status = -1; + if (status) + { + *status = -1; + } } free(demangled); } else { - *status = -2; + if (status) + { + *status = -2; + } return NULL; } return buf; -- cgit v1.2.3