Skip to content

Fuzz coverage gap: fuzz_sip_parse targets a standalone reimplementation, not the real SIP parser #116

Description

@ryanmurf

Summary

fuzz/fuzz_targets/fuzz_sip_parse.rs does not fuzz asterisk_sip::parser. It contains its own SipMessage/parse_message reimplementation ("Minimal SIP message representation for fuzzing"). It never exercises the production parser, so it gives false confidence.

Evidence

The same likely applies to fuzz_sdp_parse / fuzz_rtp_parse — worth auditing that they import the real crate.

Recommendation

Point the fuzz targets at the real code: add asterisk-sip = { path = "../crates/asterisk-sip" } to fuzz/Cargo.toml and call asterisk_sip::parser::SipMessage::parse(data) (and for coverage, drive extract_uri / extract_tag / parse_via on the parsed header values). A boundary-splitting Content-Length and a ">" before "<" From value should be added to the corpus.

Axis

Process/coverage hardening for SIP parsing robustness.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions