Skip to main content

char_data_check_offset

Function char_data_check_offset 

Source
fn char_data_check_offset(offset_arg: Value, len: usize) -> Result<usize, Value>
Expand description

CharacterData編集メソッド群(deleteData/insertData/replaceData/ substringData)は仕様上、offsetlengthを超える場合IndexSizeErrorを 投げるべき(count側は超過分を自動的にクランプするだけで例外にはならない) が、以前はoffsetlenへ黙ってクランプしてしまい、範囲外呼び出しが 常に無害な no-op(deleteData/substringData)や末尾への追記 (insertData)として成立していた。table.insertRow等と同じ「範囲外 インデックスの黙殺」バグ族の一つ。