From 88305e7612fb7d58eac9611f5fbb0c27151b3a90 Mon Sep 17 00:00:00 2001 From: Fabian Reinartz Date: Wed, 11 Oct 2017 10:17:59 +0200 Subject: [PATCH] Access chunk time range while holding lock --- head.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/head.go b/head.go index 8ba1a71bc..abe668248 100644 --- a/head.go +++ b/head.go @@ -756,10 +756,11 @@ func (h *headChunkReader) Chunk(ref uint64) (chunks.Chunk, error) { s.Lock() c := s.chunk(int(cid)) + mint, maxt := c.minTime, c.maxTime s.Unlock() // Do not expose chunks that are outside of the specified range. - if c == nil || !intervalOverlap(c.minTime, c.maxTime, h.mint, h.maxt) { + if c == nil || !intervalOverlap(mint, maxt, h.mint, h.maxt) { return nil, ErrNotFound } return &safeChunk{