8129446: crash when reporting corrupted classfile
authorkbarrett
Tue, 23 Jun 2015 17:18:27 -0400
changeset 31386 e54c60e0359c
parent 31383 35a9eccdec07
child 31387 746427d54299
8129446: crash when reporting corrupted classfile Summary: Increase buffer size and use jio_snprintf for message generation Reviewed-by: tbenson, coleenp, iklam
hotspot/src/share/vm/classfile/compactHashtable.cpp
--- a/hotspot/src/share/vm/classfile/compactHashtable.cpp	Tue Jun 23 18:03:37 2015 +0200
+++ b/hotspot/src/share/vm/classfile/compactHashtable.cpp	Tue Jun 23 17:18:27 2015 -0400
@@ -25,6 +25,7 @@
 #include "precompiled.hpp"
 #include "classfile/javaClasses.hpp"
 #include "memory/metaspaceShared.hpp"
+#include "prims/jvm.h"
 #include "utilities/numberSeq.hpp"
 #include <sys/stat.h>
 
@@ -343,8 +344,10 @@
 }
 
 void HashtableTextDump::corrupted(const char *p, const char* msg) {
-  char info[60];
-  sprintf(info, "%s. Corrupted at line %d (file pos %d)", msg, _line_no, (int)(p - _base));
+  char info[100];
+  jio_snprintf(info, sizeof(info),
+               "%s. Corrupted at line %d (file pos %d)",
+               msg, _line_no, (int)(p - _base));
   quit(info, _filename);
 }