From 313ca6b5e8446d5616806565acea626299031b89 Mon Sep 17 00:00:00 2001 From: Sam Ruby Date: Sat, 22 Jul 2000 12:40:49 +0000 Subject: [PATCH] Don't assume that Java byte arrays are null terminated. --- ext/java/java.c | 3 ++- ext/rpc/java/java.c | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/ext/java/java.c b/ext/java/java.c index 701640b0e5..eac4745302 100644 --- a/ext/java/java.c +++ b/ext/java/java.c @@ -653,7 +653,8 @@ JNIEXPORT void JNICALL Java_net_php_reflect_setResultFromString presult->type=IS_STRING; presult->value.str.len=(*jenv)->GetArrayLength(jenv, jvalue); presult->value.str.val=emalloc(presult->value.str.len+1); - strcpy(presult->value.str.val, value); + memcpy(presult->value.str.val, value, presult->value.str.len); + presult->value.str.val[presult->value.str.len]=0; if (isCopy) (*jenv)->ReleaseByteArrayElements(jenv, jvalue, value, 0); } diff --git a/ext/rpc/java/java.c b/ext/rpc/java/java.c index 701640b0e5..eac4745302 100644 --- a/ext/rpc/java/java.c +++ b/ext/rpc/java/java.c @@ -653,7 +653,8 @@ JNIEXPORT void JNICALL Java_net_php_reflect_setResultFromString presult->type=IS_STRING; presult->value.str.len=(*jenv)->GetArrayLength(jenv, jvalue); presult->value.str.val=emalloc(presult->value.str.len+1); - strcpy(presult->value.str.val, value); + memcpy(presult->value.str.val, value, presult->value.str.len); + presult->value.str.val[presult->value.str.len]=0; if (isCopy) (*jenv)->ReleaseByteArrayElements(jenv, jvalue, value, 0); } -- 2.40.0