[PATCH] libjava/classpath/native/jni/java-lang/java_lang_VMProcess.c: Be sure 'errbuf' always be zero terminated.
Chen Gang
gang.chen.5i5j@gmail.com
Mon Jul 28 13:41:00 GMT 2014
'errbuf' assumes itself will be zero terminated, and it also assumes
cpnative_getErrorString() may get larger length string than 'errbuf'.
So after strncpy(), 'errbuf' may not be zero terminated.
strncpy() is sure of zero pad, but not be sure of zero terminated.
Signed-off-by: Chen Gang <gang.chen.5i5j@gmail.com>
---
libjava/classpath/native/jni/java-lang/java_lang_VMProcess.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/libjava/classpath/native/jni/java-lang/java_lang_VMProcess.c b/libjava/classpath/native/jni/java-lang/java_lang_VMProcess.c
index a6076f2..0972a5e 100644
--- a/libjava/classpath/native/jni/java-lang/java_lang_VMProcess.c
+++ b/libjava/classpath/native/jni/java-lang/java_lang_VMProcess.c
@@ -210,6 +210,7 @@ Java_java_lang_VMProcess_nativeSpawn (JNIEnv * env, jobject this,
if (err != 0)
{
strncpy(errbuf, cpnative_getErrorString (err), sizeof(errbuf));
+ errbuf[sizeof(errbuf) - 1] = '\0';
goto system_error;
}
--
1.7.11.7
More information about the Gcc-patches
mailing list