From 190f24dac182598aae6c22c25221f945673518da Mon Sep 17 00:00:00 2001 From: Tim Tkachev Date: Thu, 18 May 2023 13:37:48 +0300 Subject: [PATCH] v1.4.3 --- CHANGELOG.md | 6 ++---- internal/validators/validator.go | 29 ++++++++++------------------- 2 files changed, 12 insertions(+), 23 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a2316c9..40e30d0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,4 @@ -## Version 1.4.2 +## Version 1.4.3 ### Bug Fixes - -- Fixed cloudapi/cloudbroker/compute/pfwAdd publicPortEnd request field type -- Fixed typo in cloudapi/k8s/disable/enable request name +- Fixed possible nil-pointer reference to validator instance (in concurrent conditions). diff --git a/internal/validators/validator.go b/internal/validators/validator.go index b28e238..0dd01c8 100644 --- a/internal/validators/validator.go +++ b/internal/validators/validator.go @@ -7,29 +7,20 @@ import ( ) var ( - once sync.Once - instance *DecortValidator + once sync.Once + decortValidator = validator.New() ) -type DecortValidator struct { - decortValidator *validator.Validate -} - // getDecortValidator returns singleton instance of DecortValidator. func getDecortValidator() *validator.Validate { - if instance == nil { - once.Do(func() { - instance = new(DecortValidator) - instance.decortValidator = validator.New() - - err := registerAllValidators(instance.decortValidator) - if err != nil { - panic(err) - } - }) - } - - return instance.decortValidator + once.Do(func() { + err := registerAllValidators(decortValidator) + if err != nil { + panic(err) + } + }) + + return decortValidator } // registerAllValidators registers all custom validators in DecortValidator.