diff --git a/CHANGELOG.md b/CHANGELOG.md index e353a4245..b51d70c54 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,10 @@ ## Unreleased +### Fixes + +- Return a parse error instead of panicking on malformed name list lengths in PDB files. ([#2096](https://github.com/getsentry/symbolicator/pull/2096)) + ### Breaking Changes - (native) Symbolicator no longer fetches remote source files to apply source context. diff --git a/Cargo.lock b/Cargo.lock index 0405f110f..b3d543689 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3272,9 +3272,8 @@ dependencies = [ [[package]] name = "pdb2" -version = "0.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "408d6fa13d943ee4b76ffda52cc28e817df9c2c4b2c46bd9aec8bff574377e1a" +version = "0.10.2" +source = "git+https://github.com/getsentry/pdb2?branch=master#47b1880d8046f4bdb7c84f4b6c3a673fcf642601" dependencies = [ "fallible-iterator", "scroll 0.12.0", diff --git a/Cargo.toml b/Cargo.toml index 47a071230..b4e51e7a1 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -40,6 +40,9 @@ reqwest = { git = "https://github.com/getsentry/reqwest", branch = "swatinem/upd # This patch adds limited "templated lambdas" demangling support cpp_demangle = { git = "https://github.com/getsentry/cpp_demangle", branch = "sentry-patches-0.5" } +# This patch returns a parse error instead of panicking on `LF_VFTABLE` records with a malformed name list length (SYMBOLICATOR-65) +pdb2 = { git = "https://github.com/getsentry/pdb2", branch = "master" } + # For local development: uncomment the following three lines (and adjust the path if necessary) # to use a local symbolic checkout everywhere. # This only works for the very specific crate listed here, and not for its dependency tree.