Skip to content

panic in reference links with newlines #398

@ehuss

Description

@ehuss

The following markdown:

[`cargo
package`]

[`cargo package`]: https://example.com

Causes a panic in 0.6. Bisected regression to #386.

Backtrace
thread 'main' panicked at 'attempt to subtract with overflow', src/parse.rs:1684:18
stack backtrace:
   0: backtrace::backtrace::libunwind::trace
             at /Users/vsts/.cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.29/src/backtrace/libunwind.rs:88
   1: backtrace::backtrace::trace_unsynchronized
             at /Users/vsts/.cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.29/src/backtrace/mod.rs:66
   2: std::sys_common::backtrace::_print
             at src/libstd/sys_common/backtrace.rs:47
   3: std::sys_common::backtrace::print
             at src/libstd/sys_common/backtrace.rs:36
   4: std::panicking::default_hook::{{closure}}
             at src/libstd/panicking.rs:200
   5: std::panicking::default_hook
             at src/libstd/panicking.rs:214
   6: std::panicking::rust_panic_with_hook
             at src/libstd/panicking.rs:477
   7: std::panicking::continue_panic_fmt
             at src/libstd/panicking.rs:384
   8: rust_begin_unwind
             at src/libstd/panicking.rs:311
   9: core::panicking::panic_fmt
             at src/libcore/panicking.rs:85
  10: core::panicking::panic
             at src/libcore/panicking.rs:49
  11: pulldown_cmark::parse::scan_link_label::{{closure}}
             at src/parse.rs:1684
  12: pulldown_cmark::linklabel::scan_link_label_rest
             at src/linklabel.rs:79
  13: pulldown_cmark::parse::scan_link_label
             at src/parse.rs:1693
  14: pulldown_cmark::parse::Parser::handle_inline_pass1
             at src/parse.rs:2141
  15: pulldown_cmark::parse::Parser::handle_inline
             at src/parse.rs:1958
  16: ::next
             at src/parse.rs:2787
  17: <&mut I as core::iter::traits::iterator::Iterator>::next
             at /rustc/eae3437dfe991621e8afdc82734f4a172d7ddf9b/src/libcore/iter/traits/iterator.rs:2608
  18: pulldown_cmark::html::HtmlWriter::run
             at ./src/html.rs:146
  19: pulldown_cmark::html::write_html
             at ./src/html.rs:514
  20: pulldown_cmark::main
             at src/main.rs:100
  21: std::rt::lang_start::{{closure}}
             at /rustc/eae3437dfe991621e8afdc82734f4a172d7ddf9b/src/libstd/rt.rs:64
  22: std::rt::lang_start_internal::{{closure}}
             at src/libstd/rt.rs:49
  23: std::panicking::try::do_call
             at src/libstd/panicking.rs:296
  24: __rust_maybe_catch_panic
             at src/libpanic_unwind/lib.rs:82
  25: std::panicking::try
             at src/libstd/panicking.rs:275
  26: std::panic::catch_unwind
             at src/libstd/panic.rs:394
  27: std::rt::lang_start_internal
             at src/libstd/rt.rs:48
  28: std::rt::lang_start
             at /rustc/eae3437dfe991621e8afdc82734f4a172d7ddf9b/src/libstd/rt.rs:64
  29: pulldown_cmark::main

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions