Skip to content

assertion failed: self.byte_at(self.host_start - 1) == b'@' in Url::password #396

Open
@mateon1

Description

@mateon1

Found by fuzzing more code in this crate.

let url = Url::parse("a://:1").unwrap();
url.password(); // thread 'main' panicked ...
thread 'main' panicked at 'assertion failed: self.byte_at(self.host_start - 1) == b'@'', src/lib.rs:739:12
stack backtrace:
   0: std::sys::imp::backtrace::tracing::imp::unwind_backtrace
             at /checkout/src/libstd/sys/unix/backtrace/tracing/gcc_s.rs:49
   1: std::sys_common::backtrace::_print
             at /checkout/src/libstd/sys_common/backtrace.rs:71
   2: std::panicking::default_hook::{{closure}}
             at /checkout/src/libstd/sys_common/backtrace.rs:60
             at /checkout/src/libstd/panicking.rs:381
   3: std::panicking::default_hook
             at /checkout/src/libstd/panicking.rs:397
   4: std::panicking::rust_panic_with_hook
             at /checkout/src/libstd/panicking.rs:577
   5: std::panicking::begin_panic
             at /checkout/src/libstd/panicking.rs:538
   6: url::Url::password
             at src/lib.rs:739
   7: testurl::test
             at ./testurl.rs:15
   8: testurl::main
             at ./testurl.rs:38
   9: __rust_maybe_catch_panic
             at /checkout/src/libpanic_unwind/lib.rs:99
  10: std::rt::lang_start
             at /checkout/src/libstd/panicking.rs:459
             at /checkout/src/libstd/panic.rs:361
             at /checkout/src/libstd/rt.rs:59
  11: main
  12: __libc_start_main
  13: _start

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions