Mercurial > hg > truffle
diff src/share/vm/classfile/classFileParser.cpp @ 6203:04ade88d9712
6294277: java -Xdebug crashes on SourceDebugExtension attribute larger than 64K
Reviewed-by: sspitsyn, dholmes, coleenp, kamg
author | fparain |
---|---|
date | Mon, 09 Jul 2012 01:28:37 -0700 |
parents | d2a62e0f25eb |
children | e74da3c2b827 9c9fb30d2b3b |
line wrap: on
line diff
--- a/src/share/vm/classfile/classFileParser.cpp Thu Jun 28 11:37:28 2012 +0200 +++ b/src/share/vm/classfile/classFileParser.cpp Mon Jul 09 01:28:37 2012 -0700 @@ -2337,12 +2337,7 @@ // Don't bother storing it if there is no way to retrieve it if (JvmtiExport::can_get_source_debug_extension()) { - // Optimistically assume that only 1 byte UTF format is used - // (common case) - TempNewSymbol sde_symbol = SymbolTable::new_symbol((const char*)sde_buffer, length, CHECK); - k->set_source_debug_extension(sde_symbol); - // Note that set_source_debug_extension() increments the reference count - // for its copy of the Symbol*, so use a TempNewSymbol here. + k->set_source_debug_extension((char*)sde_buffer, length); } // Got utf8 string, set stream position forward cfs->skip_u1(length, CHECK);