From fb61b07bcfe1c1719e26dea317d2392cfd80592a Mon Sep 17 00:00:00 2001 From: Sebastiaan van Stijn Date: Sun, 2 Jul 2023 20:17:21 +0200 Subject: [PATCH] libnetwork/internal/kvstore/boltdb: BoltDB.Exists(): fix error handling This function could potentially return "true" even if an error was returned. Signed-off-by: Sebastiaan van Stijn --- libnetwork/internal/kvstore/boltdb/boltdb.go | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/libnetwork/internal/kvstore/boltdb/boltdb.go b/libnetwork/internal/kvstore/boltdb/boltdb.go index 63ed806c66..f67c5b9fba 100644 --- a/libnetwork/internal/kvstore/boltdb/boltdb.go +++ b/libnetwork/internal/kvstore/boltdb/boltdb.go @@ -220,8 +220,13 @@ func (b *BoltDB) Exists(key string) (bool, error) { exists = len(bucket.Get([]byte(key))) > 0 return nil }) - - return exists, err + if err != nil { + return false, err + } + if !exists { + return false, store.ErrKeyNotFound + } + return true, nil } // List returns the range of keys starting with the passed in prefix