diff --git a/stores/json/store.go b/stores/json/store.go index 23bd54161..afd2e7e51 100644 --- a/stores/json/store.go +++ b/stores/json/store.go @@ -84,7 +84,7 @@ var errEndOfObject = fmt.Errorf("End of object") func (store Store) treeItemFromJSONDecoder(dec *json.Decoder) (sops.TreeItem, error) { var item sops.TreeItem key, err := dec.Token() - if err != nil { + if err != nil && err != io.EOF { return item, err } if k, ok := key.(string); ok { diff --git a/stores/json/store_test.go b/stores/json/store_test.go index 99405161a..2e246de98 100644 --- a/stores/json/store_test.go +++ b/stores/json/store_test.go @@ -126,6 +126,12 @@ func TestDecodeSimpleJSONObject(t *testing.T) { assert.Equal(t, expected, branch) } +func TestDecodeNumber(t *testing.T) { + in := `42` + _, err := Store{}.treeBranchFromJSON([]byte(in)) + assert.NotNil(t, err) +} + func TestDecodeNestedJSONObject(t *testing.T) { in := `{"foo": {"foo": "bar"}}` expected := sops.TreeBranch{