aboutsummaryrefslogtreecommitdiffstats
path: root/plumbing/object/object.go
diff options
context:
space:
mode:
Diffstat (limited to 'plumbing/object/object.go')
-rw-r--r--plumbing/object/object.go8
1 files changed, 6 insertions, 2 deletions
diff --git a/plumbing/object/object.go b/plumbing/object/object.go
index 8bdbb2a..faf7e7f 100644
--- a/plumbing/object/object.go
+++ b/plumbing/object/object.go
@@ -83,12 +83,16 @@ type Signature struct {
// Decode decodes a byte slice into a signature
func (s *Signature) Decode(b []byte) {
- open := bytes.IndexByte(b, '<')
- close := bytes.IndexByte(b, '>')
+ open := bytes.LastIndexByte(b, '<')
+ close := bytes.LastIndexByte(b, '>')
if open == -1 || close == -1 {
return
}
+ if close < open {
+ return
+ }
+
s.Name = string(bytes.Trim(b[:open], " "))
s.Email = string(b[open+1 : close])