From 17483944fcd9a86af5dccf5a901427e2246e7ec0 Mon Sep 17 00:00:00 2001 From: Ted Yu Date: Sun, 31 May 2020 09:20:05 -0700 Subject: [PATCH] etcdserver: check error return for store#internalCreate Signed-off-by: Ted Yu --- etcdserver/api/v2store/store.go | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/etcdserver/api/v2store/store.go b/etcdserver/api/v2store/store.go index 9812ebd41..f384142fc 100644 --- a/etcdserver/api/v2store/store.go +++ b/etcdserver/api/v2store/store.go @@ -606,7 +606,9 @@ func (s *store) internalCreate(nodePath string, dir bool, value string, unique, } e.PrevNode = n.Repr(false, false, s.clock) - n.Remove(false, false, nil) + if err := n.Remove(false, false, nil); err != nil { + return nil, err + } } else { return nil, v2error.NewError(v2error.EcodeNodeExist, nodePath, currIndex) } @@ -626,7 +628,9 @@ func (s *store) internalCreate(nodePath string, dir bool, value string, unique, } // we are sure d is a directory and does not have the children with name n.Name - d.Add(n) + if err := d.Add(n); err != nil { + return nil, err + } // node with TTL if !n.IsPermanent() {