summaryrefslogtreecommitdiffstats
path: root/libcxxabi
diff options
context:
space:
mode:
Diffstat (limited to 'libcxxabi')
-rw-r--r--libcxxabi/src/cxa_demangle.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/libcxxabi/src/cxa_demangle.cpp b/libcxxabi/src/cxa_demangle.cpp
index 0bfbffa092e..c97df8aa02c 100644
--- a/libcxxabi/src/cxa_demangle.cpp
+++ b/libcxxabi/src/cxa_demangle.cpp
@@ -2589,10 +2589,15 @@ Node *Db::parseExpr() {
if (First[1] == 'u') {
First += 2;
Node *Cond = parseExpr();
+ if (Cond == nullptr)
+ return nullptr;
Node *LHS = parseExpr();
+ if (LHS == nullptr)
+ return nullptr;
Node *RHS = parseExpr();
- if (Cond && LHS && RHS)
- return make<ConditionalExpr>(Cond, LHS, RHS);
+ if (RHS == nullptr)
+ return nullptr;
+ return make<ConditionalExpr>(Cond, LHS, RHS);
}
return nullptr;
case 'r':
OpenPOWER on IntegriCloud