diff options
| author | DanConwayDev <DanConwayDev@protonmail.com> | 2024-12-12 11:31:51 +0000 |
|---|---|---|
| committer | DanConwayDev <DanConwayDev@protonmail.com> | 2024-12-12 11:32:48 +0000 |
| commit | 6f45aa9937602f3d03cd83cfb5fb3c541fac4adf (patch) | |
| tree | c64277a455b0b8c07c4e501a0716f16365b88c33 /src/lib/git | |
| parent | 2b49a548169bf9bc3a3ef667a7e952e31e878bab (diff) | |
fix: defend against empty`tags`
prevent a panic when tags are of an unexpect length
Diffstat (limited to 'src/lib/git')
| -rw-r--r-- | src/lib/git/mod.rs | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/lib/git/mod.rs b/src/lib/git/mod.rs index 0615213..7a7ad5d 100644 --- a/src/lib/git/mod.rs +++ b/src/lib/git/mod.rs | |||
| @@ -850,7 +850,7 @@ fn git_sig_to_tag_vec(sig: &git2::Signature) -> Vec<String> { | |||
| 850 | fn extract_sig_from_patch_tags<'a>(tags: &'a Tags, tag_name: &str) -> Result<git2::Signature<'a>> { | 850 | fn extract_sig_from_patch_tags<'a>(tags: &'a Tags, tag_name: &str) -> Result<git2::Signature<'a>> { |
| 851 | let v = tags | 851 | let v = tags |
| 852 | .iter() | 852 | .iter() |
| 853 | .find(|t| t.as_slice()[0].eq(tag_name)) | 853 | .find(|t| !t.as_slice().is_empty() && t.as_slice()[0].eq(tag_name)) |
| 854 | .context(format!("tag '{tag_name}' not present in patch"))? | 854 | .context(format!("tag '{tag_name}' not present in patch"))? |
| 855 | .as_slice(); | 855 | .as_slice(); |
| 856 | if v.len() != 5 { | 856 | if v.len() != 5 { |