diff options
Diffstat (limited to 'openjdkjvmti/ti_logging.cc')
-rw-r--r-- | openjdkjvmti/ti_logging.cc | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/openjdkjvmti/ti_logging.cc b/openjdkjvmti/ti_logging.cc index 1d24d3b6b6..60f4340fc7 100644 --- a/openjdkjvmti/ti_logging.cc +++ b/openjdkjvmti/ti_logging.cc @@ -34,6 +34,7 @@ #include "art_jvmti.h" #include "base/mutex.h" +#include "base/strlcpy.h" #include "thread-current-inl.h" namespace openjdkjvmti { @@ -47,13 +48,13 @@ jvmtiError LogUtil::GetLastError(jvmtiEnv* env, char** data) { if (tienv->last_error_.empty()) { return ERR(ABSENT_INFORMATION); } + const size_t size = tienv->last_error_.size() + 1; char* out; - jvmtiError err = tienv->Allocate(tienv->last_error_.size() + 1, - reinterpret_cast<unsigned char**>(&out)); + jvmtiError err = tienv->Allocate(size, reinterpret_cast<unsigned char**>(&out)); if (err != OK) { return err; } - strcpy(out, tienv->last_error_.c_str()); + strlcpy(out, tienv->last_error_.c_str(), size); *data = out; return OK; } |