From b84bd95b6aca3bf2eae59cc67afdb0e3e0ba63e7 Mon Sep 17 00:00:00 2001 From: Mahmood Ali Date: Mon, 24 Aug 2020 20:19:40 -0400 Subject: [PATCH] don't lock if ref is nil Ensure that d.mu is only dereferenced if d is not-nil, to avoid a null dereference panic. --- client/allocdir/alloc_dir.go | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/client/allocdir/alloc_dir.go b/client/allocdir/alloc_dir.go index 2ac23e958..cfa168e85 100644 --- a/client/allocdir/alloc_dir.go +++ b/client/allocdir/alloc_dir.go @@ -117,12 +117,13 @@ func NewAllocDir(logger hclog.Logger, allocDir string) *AllocDir { // Copy an AllocDir and all of its TaskDirs. Returns nil if AllocDir is // nil. func (d *AllocDir) Copy() *AllocDir { - d.mu.RLock() - defer d.mu.RUnlock() - if d == nil { return nil } + + d.mu.RLock() + defer d.mu.RUnlock() + dcopy := &AllocDir{ AllocDir: d.AllocDir, SharedDir: d.SharedDir,