mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-26 22:34:27 +02:00
6539281: -Xcheck:jni should validate char* argument to ReleaseStringUTFChars
Tag allocated memory with a magic value and verify when releasing. Reviewed-by: phh, stefank
This commit is contained in:
parent
dd62e29b29
commit
1765b0fbf0
4 changed files with 65 additions and 17 deletions
|
@ -313,6 +313,14 @@ char* java_lang_String::as_utf8_string(oop java_string) {
|
|||
return UNICODE::as_utf8(position, length);
|
||||
}
|
||||
|
||||
char* java_lang_String::as_utf8_string(oop java_string, char* buf, int buflen) {
|
||||
typeArrayOop value = java_lang_String::value(java_string);
|
||||
int offset = java_lang_String::offset(java_string);
|
||||
int length = java_lang_String::length(java_string);
|
||||
jchar* position = (length == 0) ? NULL : value->char_at_addr(offset);
|
||||
return UNICODE::as_utf8(position, length, buf, buflen);
|
||||
}
|
||||
|
||||
char* java_lang_String::as_utf8_string(oop java_string, int start, int len) {
|
||||
typeArrayOop value = java_lang_String::value(java_string);
|
||||
int offset = java_lang_String::offset(java_string);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue