diff options
| author | tromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-12-11 03:58:40 +0000 |
|---|---|---|
| committer | tromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-12-11 03:58:40 +0000 |
| commit | ff65d698b35e74609ea902b3d6648b95d6de1ae6 (patch) | |
| tree | f6f9fdf56bc4450ecbd151f2eb704d7b11844a7e /libjava/java | |
| parent | 6826e7760cd6f21c1ec396433a4fa2826c9af249 (diff) | |
| download | ppe42-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.cc | 9 |
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 |

