From c432b4e90f446c28f48f129f242367d930b8fb9a Mon Sep 17 00:00:00 2001 From: Ilya Mashchenko Date: Wed, 7 Aug 2024 11:54:33 +0300 Subject: [PATCH] go.d fix dimension id check (#18272) --- src/go/plugin/go.d/agent/module/charts.go | 2 +- src/go/plugin/go.d/agent/module/charts_test.go | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/go/plugin/go.d/agent/module/charts.go b/src/go/plugin/go.d/agent/module/charts.go index 55ffdf9f1ce7f9..fa4f1ba8894e76 100644 --- a/src/go/plugin/go.d/agent/module/charts.go +++ b/src/go/plugin/go.d/agent/module/charts.go @@ -439,7 +439,7 @@ func checkDim(d *Dim) error { if d.ID == "" { return errors.New("empty dim ID") } - if id := checkID(d.ID); id != -1 { + if id := checkID(d.ID); id != -1 && (d.Name == "" || checkID(d.Name) != -1) { return fmt.Errorf("unacceptable symbol in dim ID '%s' : '%c'", d.ID, id) } return nil diff --git a/src/go/plugin/go.d/agent/module/charts_test.go b/src/go/plugin/go.d/agent/module/charts_test.go index 7c35bb33e4c94e..b0dcf806fdf5d9 100644 --- a/src/go/plugin/go.d/agent/module/charts_test.go +++ b/src/go/plugin/go.d/agent/module/charts_test.go @@ -341,6 +341,9 @@ func TestDim_check(t *testing.T) { dim = &Dim{ID: "id"} dim.ID = "invalid id" assert.Error(t, checkDim(dim)) + + dim = &Dim{ID: "i d", Name: "id"} + assert.NoError(t, checkDim(dim)) } func TestVar_check(t *testing.T) {