summaryrefslogtreecommitdiffstats
path: root/libjava/java
diff options
context:
space:
mode:
authortromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>2001-12-11 03:58:40 +0000
committertromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>2001-12-11 03:58:40 +0000
commitff65d698b35e74609ea902b3d6648b95d6de1ae6 (patch)
treef6f9fdf56bc4450ecbd151f2eb704d7b11844a7e /libjava/java
parent6826e7760cd6f21c1ec396433a4fa2826c9af249 (diff)
downloadppe42-gcc-ff65d698b35e74609ea902b3d6648b95d6de1ae6.tar.gz
ppe42-gcc-ff65d698b35e74609ea902b3d6648b95d6de1ae6.zip
Fix for PR libgcj/5064.
* java/lang/natClassLoader.cc: Don't include stdio.h. (_Jv_RegisterClassHookDefault): Don't use snprintf. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47861 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/java')
-rw-r--r--libjava/java/lang/natClassLoader.cc9
1 files changed, 6 insertions, 3 deletions
diff --git a/libjava/java/lang/natClassLoader.cc b/libjava/java/lang/natClassLoader.cc
index c9a58726a3c..59aca071ea2 100644
--- a/libjava/java/lang/natClassLoader.cc
+++ b/libjava/java/lang/natClassLoader.cc
@@ -14,7 +14,6 @@ details. */
#include <stdlib.h>
#include <string.h>
-#include <stdio.h>
#include <gcj/cni.h>
#include <jvm.h>
@@ -463,9 +462,13 @@ _Jv_RegisterClassHookDefault (jclass klass)
{
// If you get this, it means you have the same class in two
// different libraries.
+#define TEXT "Duplicate class registration: "
+ // We size-limit MESSAGE so that you can't trash the stack.
char message[200];
- snprintf (&message[0], 200, "Duplicate class registration: %s",
- klass->name->data);
+ strcpy (message, TEXT);
+ strncpy (message + sizeof (TEXT) - 1, klass->name->data,
+ sizeof (message) - sizeof (TEXT));
+ message[sizeof (message) - 1] = '\0';
if (! gcj::runtimeInitialized)
JvFail (message);
else
OpenPOWER on IntegriCloud