From 37a1c619156922e7e4623af5ab8dc8cb6c9a2d1d Mon Sep 17 00:00:00 2001 From: dhax Date: Mon, 14 Jan 2019 22:47:58 +0100 Subject: [PATCH] typecheck url.values for filter options --- database/admAccountStore.go | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/database/admAccountStore.go b/database/admAccountStore.go index 16a48e3..46aecbd 100644 --- a/database/admAccountStore.go +++ b/database/admAccountStore.go @@ -15,6 +15,8 @@ import ( var ( // ErrUniqueEmailConstraint provides error message for already registered email address. ErrUniqueEmailConstraint = errors.New("email already registered") + // ErrBadParams could not parse params to filter + ErrBadParams = errors.New("bad parameters") ) // AdmAccountStore implements database operations for account management by admin. @@ -38,7 +40,11 @@ type AccountFilter struct { // NewAccountFilter returns an AccountFilter with options parsed from request url values. func NewAccountFilter(params interface{}) (*AccountFilter, error) { - p := urlvalues.Values(params.(url.Values)) + v, ok := params.(url.Values) + if !ok { + return nil, ErrBadParams + } + p := urlvalues.Values(v) f := &AccountFilter{ Pager: urlvalues.NewPager(p), Filter: urlvalues.NewFilter(p),