mirror of
https://github.com/servo/servo.git
synced 2025-08-06 14:10:11 +01:00
Null-check the result of JS_GetStringCharsAndLength.
This commit is contained in:
parent
0593d77b93
commit
2345f5461b
1 changed files with 2 additions and 0 deletions
|
@ -307,6 +307,7 @@ pub fn jsstring_to_str(cx: *mut JSContext, s: *mut JSString) -> DOMString {
|
||||||
unsafe {
|
unsafe {
|
||||||
let mut length = 0;
|
let mut length = 0;
|
||||||
let chars = JS_GetStringCharsAndLength(cx, s, &mut length);
|
let chars = JS_GetStringCharsAndLength(cx, s, &mut length);
|
||||||
|
assert!(!chars.is_null());
|
||||||
let char_vec = slice::from_raw_parts(chars, length as usize);
|
let char_vec = slice::from_raw_parts(chars, length as usize);
|
||||||
String::from_utf16(char_vec).unwrap()
|
String::from_utf16(char_vec).unwrap()
|
||||||
}
|
}
|
||||||
|
@ -358,6 +359,7 @@ impl FromJSValConvertible for USVString {
|
||||||
unsafe {
|
unsafe {
|
||||||
let mut length = 0;
|
let mut length = 0;
|
||||||
let chars = JS_GetStringCharsAndLength(cx, jsstr, &mut length);
|
let chars = JS_GetStringCharsAndLength(cx, jsstr, &mut length);
|
||||||
|
assert!(!chars.is_null());
|
||||||
let char_vec = slice::from_raw_parts(chars, length as usize);
|
let char_vec = slice::from_raw_parts(chars, length as usize);
|
||||||
Ok(USVString(String::from_utf16_lossy(char_vec)))
|
Ok(USVString(String::from_utf16_lossy(char_vec)))
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue