From 6df2166151de362320bbb60d996bdf797650b1af Mon Sep 17 00:00:00 2001 From: CuriousCorrelation Date: Sat, 18 Jun 2022 17:24:57 +0530 Subject: [PATCH] [ws-daemon] Fix quota size regex's false positives --- components/ws-daemon/pkg/quota/size.go | 2 +- components/ws-daemon/pkg/quota/size_test.go | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/components/ws-daemon/pkg/quota/size.go b/components/ws-daemon/pkg/quota/size.go index d66895d9acd187..8216eda8035d5e 100644 --- a/components/ws-daemon/pkg/quota/size.go +++ b/components/ws-daemon/pkg/quota/size.go @@ -31,7 +31,7 @@ const ( ) var ( - sizeRegexp = regexp.MustCompile(`(\d+)(k|m|g|t)?`) + sizeRegexp = regexp.MustCompile(`^(\d+)(k|m|g|t)?$`) // ErrInvalidSize is returned by ParseSize if input was not a valid size ErrInvalidSize = errors.New("invalid size") diff --git a/components/ws-daemon/pkg/quota/size_test.go b/components/ws-daemon/pkg/quota/size_test.go index cc21ae2579b1a2..3f1131ec1fa7da 100644 --- a/components/ws-daemon/pkg/quota/size_test.go +++ b/components/ws-daemon/pkg/quota/size_test.go @@ -23,8 +23,8 @@ func TestParseSize(t *testing.T) { {"42m", 42 * quota.Megabyte, nil}, {"42g", 42 * quota.Gigabyte, nil}, {"42t", 42 * quota.Terabyte, nil}, - // This test should fail but doesn't because match somehow matches the regexp - // {"-42m", 0, quota.ErrInvalidSize}, + {"-42m", 0, quota.ErrInvalidSize}, + {"ab-42mcd", 0, quota.ErrInvalidSize}, {"abc", 0, quota.ErrInvalidSize}, {"99999999999999999999999999999999999999999999999999999999999999999999999999999999", 0, quota.ErrInvalidSize}, }