projects
/
deliverable
/
binutils-gdb.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix a spelling mistake in the binutils documentation.
[deliverable/binutils-gdb.git]
/
libiberty
/
d-demangle.c
diff --git
a/libiberty/d-demangle.c
b/libiberty/d-demangle.c
index 8acbf046f262bc1f769f14d37bcbd0c96f941541..a9702858a6ede4dac257ed63fb3ead29ac72c6b1 100644
(file)
--- a/
libiberty/d-demangle.c
+++ b/
libiberty/d-demangle.c
@@
-1,5
+1,5
@@
/* Demangler for the D programming language
/* Demangler for the D programming language
- Copyright (C) 2014-20
19
Free Software Foundation, Inc.
+ Copyright (C) 2014-20
20
Free Software Foundation, Inc.
Written by Iain Buclaw (ibuclaw@gdcproject.org)
This file is part of the libiberty library.
Written by Iain Buclaw (ibuclaw@gdcproject.org)
This file is part of the libiberty library.
@@
-939,8
+939,8
@@
dlang_parse_integer (string *decl, const char *mangled, char type)
if (type == 'a' || type == 'u' || type == 'w')
{
/* Parse character value. */
if (type == 'a' || type == 'u' || type == 'w')
{
/* Parse character value. */
- char value[
1
0];
- int pos =
10
;
+ char value[
2
0];
+ int pos =
sizeof(value)
;
int width = 0;
long val;
int width = 0;
long val;
@@
-991,7
+991,7
@@
dlang_parse_integer (string *decl, const char *mangled, char type)
for (; width > 0; width--)
value[--pos] = '0';
for (; width > 0; width--)
value[--pos] = '0';
- string_appendn (decl, &(value[pos]),
10
- pos);
+ string_appendn (decl, &(value[pos]),
sizeof(value)
- pos);
}
string_append (decl, "'");
}
}
string_append (decl, "'");
}
@@
-1191,6
+1191,9
@@
dlang_parse_arrayliteral (string *decl, const char *mangled)
while (elements--)
{
mangled = dlang_value (decl, mangled, NULL, '\0');
while (elements--)
{
mangled = dlang_value (decl, mangled, NULL, '\0');
+ if (mangled == NULL)
+ return NULL;
+
if (elements != 0)
string_append (decl, ", ");
}
if (elements != 0)
string_append (decl, ", ");
}
@@
-1214,8
+1217,13
@@
dlang_parse_assocarray (string *decl, const char *mangled)
while (elements--)
{
mangled = dlang_value (decl, mangled, NULL, '\0');
while (elements--)
{
mangled = dlang_value (decl, mangled, NULL, '\0');
+ if (mangled == NULL)
+ return NULL;
+
string_append (decl, ":");
mangled = dlang_value (decl, mangled, NULL, '\0');
string_append (decl, ":");
mangled = dlang_value (decl, mangled, NULL, '\0');
+ if (mangled == NULL)
+ return NULL;
if (elements != 0)
string_append (decl, ", ");
if (elements != 0)
string_append (decl, ", ");
@@
-1243,6
+1251,9
@@
dlang_parse_structlit (string *decl, const char *mangled, const char *name)
while (args--)
{
mangled = dlang_value (decl, mangled, NULL, '\0');
while (args--)
{
mangled = dlang_value (decl, mangled, NULL, '\0');
+ if (mangled == NULL)
+ return NULL;
+
if (args != 0)
string_append (decl, ", ");
}
if (args != 0)
string_append (decl, ", ");
}
@@
-1497,6
+1508,9
@@
dlang_parse_tuple (string *decl, const char *mangled)
while (elements--)
{
mangled = dlang_type (decl, mangled);
while (elements--)
{
mangled = dlang_type (decl, mangled);
+ if (mangled == NULL)
+ return NULL;
+
if (elements != 0)
string_append (decl, ", ");
}
if (elements != 0)
string_append (decl, ", ");
}
This page took
0.025069 seconds
and
4
git commands to generate.