Skip to content

🐛 index out of bounds crash with malformed patch #1275

@adamchainz

Description

@adamchainz

Lines like @@ @@ crash delta:

echo "@@  @@\n" | RUST_BACKTRACE=full delta
thread 'main' panicked at 'index out of bounds: the len is 0 but the index is 0', src/features/line_numbers.rs:188:28
stack backtrace:
   0:        0x1043dc5f4 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h71d20ef014883dc3
   1:        0x1043f4584 - core::fmt::write::hd114a9636e34e383
   2:        0x1043c73b0 - std::io::Write::write_fmt::h05898edc92938c00
   3:        0x1043cc61c - std::panicking::default_hook::{{closure}}::hbd40827d346a3df4
   4:        0x1043cc2ac - std::panicking::default_hook::hf2e0d2c157a06c84
   5:        0x1043cce40 - std::panicking::rust_panic_with_hook::h33fd2dae40c879df
   6:        0x1043dcd50 - std::panicking::begin_panic_handler::{{closure}}::h81ef06081ce645db
   7:        0x1043dc730 - std::sys_common::backtrace::__rust_end_short_backtrace::hc514eeb5ddb8eaf3
   8:        0x1043cca60 - _rust_begin_unwind
   9:        0x10440adc8 - core::panicking::panic_fmt::h520fb0ef56e6cee7
  10:        0x10440ad38 - core::panicking::panic_bounds_check::hde40779dd2c2d133
  11:        0x1041cbd9c - delta::features::line_numbers::LineNumbersData::initialize_hunk::haf94d2662d9d42ca
  12:        0x10423c0fc - delta::handlers::hunk::<impl delta::delta::StateMachine>::handle_hunk_line::h2ada95a2c0f7de1d
  13:        0x10423720c - delta::delta::delta::hecc571c151b5ea45
  14:        0x1041d88dc - delta::main::h61fdfe5805657fec
  15:        0x10424bd50 - std::sys_common::backtrace::__rust_begin_short_backtrace::h1036dd8be6111153
  16:        0x1041da734 - std::rt::lang_start::{{closure}}::h918f7bf93157e659
  17:        0x1043cb550 - std::rt::lang_start_internal::h3f58ab0124dae34f
  18:        0x1041d9410 - _main

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions