From d2b004c405aa1f9a6a160b93a10b64cdf2ec821f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20Mur=C3=A9?= Date: Wed, 6 Nov 2024 18:06:46 +0100 Subject: [PATCH] meta: prevent overwrite of values --- pkg/meta/meta.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkg/meta/meta.go b/pkg/meta/meta.go index a51eec7..552612a 100644 --- a/pkg/meta/meta.go +++ b/pkg/meta/meta.go @@ -99,6 +99,9 @@ func (m *Meta) GetNode(key string) (ipld.Node, error) { // Accepted types for the value are: bool, string, int, int32, int64, []byte, // and ipld.Node. func (m *Meta) Add(key string, val any) error { + if _, ok := m.Values[key]; ok { + return fmt.Errorf("duplicate key %q", key) + } switch val := val.(type) { case bool: m.Values[key] = basicnode.NewBool(val)