diff options
Diffstat (limited to 'libjava/defineclass.cc')
| -rw-r--r-- | libjava/defineclass.cc | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/libjava/defineclass.cc b/libjava/defineclass.cc index 09f8f47fc84..e062fb2e756 100644 --- a/libjava/defineclass.cc +++ b/libjava/defineclass.cc @@ -1414,6 +1414,14 @@ _Jv_VerifyClassName (unsigned char* ptr, _Jv_ushort length) unsigned char *limit = ptr+length; int ch; + if ('[' == UTF8_PEEK (ptr, limit)) + { + if (! _Jv_VerifyOne (++ptr, limit, false)) + throw_class_format_error ("erroneous class name"); + else + return; + } + next_level: do { if ((ch = UTF8_GET (ptr, limit))==-1) |

