From af46dd50e9e0bea569449c4a70fc9217594cb2ba Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Sun, 21 Jul 2019 05:55:46 +0200 Subject: *: fixed tautological error conditionsautological error conditions - Added missing error handling around encodeCommitData and prevented shadowing err. - Removed tautological error checks. Signed-off-by: Christian Muehlhaeuser (cherry picked from commit 7d76176416551fc21d98bc17768d158a82281406) --- plumbing/format/commitgraph/encoder.go | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) (limited to 'plumbing/format') diff --git a/plumbing/format/commitgraph/encoder.go b/plumbing/format/commitgraph/encoder.go index a06871c..615e833 100644 --- a/plumbing/format/commitgraph/encoder.go +++ b/plumbing/format/commitgraph/encoder.go @@ -24,8 +24,6 @@ func NewEncoder(w io.Writer) *Encoder { // Encode writes an index into the commit-graph file func (e *Encoder) Encode(idx Index) error { - var err error - // Get all the hashes in the input index hashes := idx.Hashes() @@ -39,26 +37,26 @@ func (e *Encoder) Encode(idx Index) error { chunkSizes = append(chunkSizes, uint64(extraEdgesCount)*4) } - if err = e.encodeFileHeader(len(chunkSignatures)); err != nil { + if err := e.encodeFileHeader(len(chunkSignatures)); err != nil { return err } - if err = e.encodeChunkHeaders(chunkSignatures, chunkSizes); err != nil { + if err := e.encodeChunkHeaders(chunkSignatures, chunkSizes); err != nil { return err } - if err = e.encodeFanout(fanout); err != nil { + if err := e.encodeFanout(fanout); err != nil { return err } - if err = e.encodeOidLookup(hashes); err != nil { + if err := e.encodeOidLookup(hashes); err != nil { return err } if extraEdges, err := e.encodeCommitData(hashes, hashToIndex, idx); err == nil { if err = e.encodeExtraEdges(extraEdges); err != nil { return err } - } - if err != nil { + } else { return err } + return e.encodeChecksum() } -- cgit From 172a0d8a0e1e05d0bc47df09d50fb8ef49529f5f Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Sun, 21 Jul 2019 06:05:19 +0200 Subject: *: added missing error checks in tests When we assign a value to err, make sure to also check for it being nil afterwards. If those were intentionally unchecked, we should remove the assignment in the first place. Those checks certainly never harm, but please review thoroughly and let me know. Signed-off-by: Christian Muehlhaeuser (cherry picked from commit 19d6f42a4d814a50bd262fbb69a9b670db9756a2) --- plumbing/format/packfile/scanner_test.go | 1 + 1 file changed, 1 insertion(+) (limited to 'plumbing/format') diff --git a/plumbing/format/packfile/scanner_test.go b/plumbing/format/packfile/scanner_test.go index a401d6d..3078477 100644 --- a/plumbing/format/packfile/scanner_test.go +++ b/plumbing/format/packfile/scanner_test.go @@ -140,6 +140,7 @@ func (s *ScannerSuite) TestReaderReset(c *C) { p := NewScanner(r) version, objects, err := p.Header() + c.Assert(err, IsNil) c.Assert(version, Equals, VersionSupported) c.Assert(objects, Equals, uint32(31)) -- cgit From 28675baffe8f5590401a96c5a0cb4fe0fc6f4da7 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Sun, 21 Jul 2019 06:08:14 +0200 Subject: plumbing/format: idxfile, unsigned values are never < 0 Signed-off-by: Christian Muehlhaeuser (cherry picked from commit 047bb4f6d0657389ddd4ca3230ff3bee08d66a6b) --- plumbing/format/idxfile/decoder.go | 4 ---- 1 file changed, 4 deletions(-) (limited to 'plumbing/format') diff --git a/plumbing/format/idxfile/decoder.go b/plumbing/format/idxfile/decoder.go index 5b92782..9e9c176 100644 --- a/plumbing/format/idxfile/decoder.go +++ b/plumbing/format/idxfile/decoder.go @@ -110,10 +110,6 @@ func readObjectNames(idx *MemoryIndex, r io.Reader) error { continue } - if buckets < 0 { - return ErrMalformedIdxFile - } - idx.FanoutMapping[k] = len(idx.Names) nameLen := int(buckets * objectIDLength) -- cgit From bfe45eef34bfad73dc9c5255ac8f06ae19501554 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Sun, 21 Jul 2019 06:15:34 +0200 Subject: plumbing/format: simplify code Just a bit easier to read, in my opinion. Signed-off-by: Christian Muehlhaeuser (cherry picked from commit 91d314ce8f13eff06fd4af8b869cee5a3e2ab014) --- plumbing/format/diff/unified_encoder.go | 2 +- plumbing/format/gitattributes/pattern.go | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'plumbing/format') diff --git a/plumbing/format/diff/unified_encoder.go b/plumbing/format/diff/unified_encoder.go index 8bd6d8a..169242d 100644 --- a/plumbing/format/diff/unified_encoder.go +++ b/plumbing/format/diff/unified_encoder.go @@ -94,7 +94,7 @@ func (e *UnifiedEncoder) printMessage(message string) { isEmpty := message == "" hasSuffix := strings.HasSuffix(message, "\n") if !isEmpty && !hasSuffix { - message = message + "\n" + message += "\n" } e.buf.WriteString(message) diff --git a/plumbing/format/gitattributes/pattern.go b/plumbing/format/gitattributes/pattern.go index c5ca0c7..d961aba 100644 --- a/plumbing/format/gitattributes/pattern.go +++ b/plumbing/format/gitattributes/pattern.go @@ -66,7 +66,7 @@ func (p *pattern) Match(path []string) bool { doublestar = true } - switch true { + switch { case strings.Contains(pattern[0], "**"): return false -- cgit From e5c9c0dd9ff1f42dcdaba7a51919cf43abdb79f9 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Sun, 21 Jul 2019 06:24:22 +0200 Subject: *: avoid unnecessary conversions No need to convert these values, they're already of the right type. Signed-off-by: Christian Muehlhaeuser (cherry picked from commit a1d8a7ac8bd0e4aff0f27dbb8bb37b8bd13a1346) --- plumbing/format/commitgraph/file.go | 2 +- plumbing/format/commitgraph/memory.go | 2 +- plumbing/format/idxfile/writer.go | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) (limited to 'plumbing/format') diff --git a/plumbing/format/commitgraph/file.go b/plumbing/format/commitgraph/file.go index 175d279..1f82abd 100644 --- a/plumbing/format/commitgraph/file.go +++ b/plumbing/format/commitgraph/file.go @@ -249,7 +249,7 @@ func (fi *fileIndex) getHashesFromIndexes(indexes []int) ([]plumbing.Hash, error // Hashes returns all the hashes that are available in the index func (fi *fileIndex) Hashes() []plumbing.Hash { hashes := make([]plumbing.Hash, fi.fanout[0xff]) - for i := 0; i < int(fi.fanout[0xff]); i++ { + for i := 0; i < fi.fanout[0xff]; i++ { offset := fi.oidLookupOffset + int64(i)*20 if n, err := fi.reader.ReadAt(hashes[i][:], offset); err != nil || n < 20 { return nil diff --git a/plumbing/format/commitgraph/memory.go b/plumbing/format/commitgraph/memory.go index a4a96e9..f5afd4c 100644 --- a/plumbing/format/commitgraph/memory.go +++ b/plumbing/format/commitgraph/memory.go @@ -31,7 +31,7 @@ func (mi *MemoryIndex) GetIndexByHash(h plumbing.Hash) (int, error) { // GetCommitDataByIndex gets the commit node from the commit graph using index // obtained from child node, if available func (mi *MemoryIndex) GetCommitDataByIndex(i int) (*CommitData, error) { - if int(i) >= len(mi.commitData) { + if i >= len(mi.commitData) { return nil, plumbing.ErrObjectNotFound } diff --git a/plumbing/format/idxfile/writer.go b/plumbing/format/idxfile/writer.go index aa919e7..fcc78c5 100644 --- a/plumbing/format/idxfile/writer.go +++ b/plumbing/format/idxfile/writer.go @@ -147,7 +147,7 @@ func (w *Writer) createIndex() (*MemoryIndex, error) { idx.Offset32[bucket] = append(idx.Offset32[bucket], buf.Bytes()...) buf.Truncate(0) - binary.WriteUint32(buf, uint32(o.CRC32)) + binary.WriteUint32(buf, o.CRC32) idx.CRC32[bucket] = append(idx.CRC32[bucket], buf.Bytes()...) } -- cgit