diff options
author | Ben L <bobsayshilol@live.co.uk> | 2019-04-30 14:39:14 +0000 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 2019-04-30 08:39:14 -0600 |
commit | 6c8dbbfe5cf50fbc86ddaccb8dec43d6e3cdd492 (patch) | |
tree | 356be62078c5777d0e0b58ab8edfadee966df329 /libiberty/d-demangle.c | |
parent | f181b8e780c139ae73fe41f93492847aaede40cf (diff) |
d-demangle.c (dlang_parse_assocarray): Correctly handle error result.
* d-demangle.c (dlang_parse_assocarray): Correctly handle error result.
* testsuite/d-demangle-expected: Add testcase.
From-SVN: r270700
Diffstat (limited to 'libiberty/d-demangle.c')
-rw-r--r-- | libiberty/d-demangle.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/libiberty/d-demangle.c b/libiberty/d-demangle.c index e98118e66d2..becc402c1f8 100644 --- a/libiberty/d-demangle.c +++ b/libiberty/d-demangle.c @@ -1217,8 +1217,13 @@ dlang_parse_assocarray (string *decl, const char *mangled) while (elements--) { mangled = dlang_value (decl, mangled, NULL, '\0'); + if (mangled == NULL) + return NULL; + string_append (decl, ":"); mangled = dlang_value (decl, mangled, NULL, '\0'); + if (mangled == NULL) + return NULL; if (elements != 0) string_append (decl, ", "); |