diff options
| author | Nikita Mochalov <Zamony@users.noreply.github.com> | 2023-08-10 01:30:36 +0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-08-09 15:30:36 -0700 |
| commit | e6a49dc5337bb73a6334647bb34a44570b3ef6d7 (patch) | |
| tree | 238a2b7e5ba2c80427cf7898e521e62b8bd8977e /weed/storage/erasure_coding/ec_encoder.go | |
| parent | 3365468d0d683f61a915eebce06cc8c54ecd1dd6 (diff) | |
| download | seaweedfs-e6a49dc5337bb73a6334647bb34a44570b3ef6d7.tar.xz seaweedfs-e6a49dc5337bb73a6334647bb34a44570b3ef6d7.zip | |
Fix resource leaks (#4737)
* Fix division by zero
* Fix file handle leak
* Fix file handle leak
* Fix file handle leak
* Fix goroutine leak
Diffstat (limited to 'weed/storage/erasure_coding/ec_encoder.go')
| -rw-r--r-- | weed/storage/erasure_coding/ec_encoder.go | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/weed/storage/erasure_coding/ec_encoder.go b/weed/storage/erasure_coding/ec_encoder.go index a60f76bc0..7d68de2e6 100644 --- a/weed/storage/erasure_coding/ec_encoder.go +++ b/weed/storage/erasure_coding/ec_encoder.go @@ -120,6 +120,10 @@ func generateMissingEcFiles(baseFileName string, bufferSize int, largeBlockSize func encodeData(file *os.File, enc reedsolomon.Encoder, startOffset, blockSize int64, buffers [][]byte, outputs []*os.File) error { bufferSize := int64(len(buffers[0])) + if bufferSize == 0 { + glog.Fatal("unexpected zero buffer size") + } + batchCount := blockSize / bufferSize if blockSize%bufferSize != 0 { glog.Fatalf("unexpected block size %d buffer size %d", blockSize, bufferSize) |
