diff --git a/src/builtins/string/replace.rs b/src/builtins/string/replace.rs index b7c74f8fe..91ae47f2e 100644 --- a/src/builtins/string/replace.rs +++ b/src/builtins/string/replace.rs @@ -160,12 +160,8 @@ fn interpret_escape(arg: &'args wstr) -> Option { let mut cursor = arg; while !cursor.is_empty() { if cursor.char_at(0) == '\\' { - if let Some(escape_len) = read_unquoted_escape(cursor, &mut result, true, false) { - cursor = cursor.slice_from(escape_len); - } else { - // invalid escape - return None; - } + let escape_len = read_unquoted_escape(cursor, &mut result, true, false)?; + cursor = cursor.slice_from(escape_len); } else { result.push(cursor.char_at(0)); cursor = cursor.slice_from(1);