{{ message }}
Repository navigation
Commit 024e6d9
authored
fix(sbom): percent-encode vcs_url qualifier in generated purls (#9670)
Both SBOM generators build a git package's purl by sticking the raw
`node.resolved` straight into the `vcs_url` qualifier, so any `#` or `&`
in that resolved URL escapes the qualifier value. A git dep resolving to
e.g. `https://github.com/foo/bar.git?a=b&c=d#1234` produces
`pkg:npm/...?vcs_url=https://github.com/foo/bar.git?a=b&c=d#1234`, where
a purl parser reads `c=d` as a separate qualifier and `1234` as the
subpath. Wrapping `node.resolved` in `encodeURIComponent` at both sites
keeps it a single qualifier value; the existing git-url snapshots and
two new assertions cover it.1 parent 18b930f commit 024e6d9
6 files changed
Lines changed: 26 additions & 4 deletions
File tree
- lib/utils
- tap-snapshots/test/lib/utils
- test/lib/utils
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
109 | 109 | | |
110 | 110 | | |
111 | 111 | | |
112 | | - | |
| 112 | + | |
113 | 113 | | |
114 | 114 | | |
115 | 115 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
417 | 417 | | |
418 | 418 | | |
419 | 419 | | |
420 | | - | |
| 420 | + | |
421 | 421 | | |
422 | 422 | | |
423 | 423 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
414 | 414 | | |
415 | 415 | | |
416 | 416 | | |
417 | | - | |
| 417 | + | |
418 | 418 | | |
419 | 419 | | |
420 | 420 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
270 | 270 | | |
271 | 271 | | |
272 | 272 | | |
| 273 | + | |
| 274 | + | |
| 275 | + | |
| 276 | + | |
| 277 | + | |
| 278 | + | |
| 279 | + | |
| 280 | + | |
| 281 | + | |
| 282 | + | |
| 283 | + | |
273 | 284 | | |
274 | 285 | | |
275 | 286 | | |
| |||

0 commit comments