diff --git a/java/rocksjni/slice.cc b/java/rocksjni/slice.cc index e4b7cf03b..162e868d1 100644 --- a/java/rocksjni/slice.cc +++ b/java/rocksjni/slice.cc @@ -28,9 +28,11 @@ void Java_org_rocksdb_AbstractSlice_createNewSliceFromString( JNIEnv* env, jobject jobj, jstring jstr) { const auto* str = env->GetStringUTFChars(jstr, 0); - const size_t len = strlen(str); + const size_t len = strlen(str) + 1; char* buf = new char[len]; - memcpy(buf, str, len); + memcpy(buf, str, len - 1); + buf[len-1]='\0'; + env->ReleaseStringUTFChars(jstr, str); const auto* slice = new rocksdb::Slice(buf);