Skip to content

Commit

Permalink
stats: fix nil ptr deref
Browse files Browse the repository at this point in the history
  • Loading branch information
EugeneOne1 committed Aug 4, 2022
1 parent 7fc3ff1 commit 59a0f24
Showing 1 changed file with 12 additions and 2 deletions.
14 changes: 12 additions & 2 deletions internal/stats/unit.go
Original file line number Diff line number Diff line change
Expand Up @@ -632,6 +632,9 @@ func (s *StatsCtx) Update(e Entry) {
}

u := s.ongoing()
if u == nil {
return
}

u.mu.Lock()
defer u.mu.Unlock()
Expand All @@ -655,7 +658,12 @@ func (s *StatsCtx) loadUnits(limit uint32) ([]*unitDB, uint32) {
}

cur := s.ongoing()
curID := atomic.LoadUint32(&cur.id)
var curID uint32
if cur != nil {
curID = atomic.LoadUint32(&cur.id)
} else {
curID = s.unitIDGen()
}

// Per-hour units.
units := []*unitDB{}
Expand All @@ -671,7 +679,9 @@ func (s *StatsCtx) loadUnits(limit uint32) ([]*unitDB, uint32) {

_ = tx.Rollback()

units = append(units, cur.serialize())
if cur != nil {
units = append(units, cur.serialize())
}

if len(units) != int(limit) {
log.Fatalf("len(units) != limit: %d %d", len(units), limit)
Expand Down

0 comments on commit 59a0f24

Please sign in to comment.