From f3563ed56cb3f55aab48451cf714d25ab95bd833 Mon Sep 17 00:00:00 2001 From: kishorenc Date: Thu, 21 May 2020 21:33:21 +0530 Subject: [PATCH] Validate more integer parameters. --- src/core_api.cpp | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/core_api.cpp b/src/core_api.cpp index 61c4350d..8f9deb9a 100644 --- a/src/core_api.cpp +++ b/src/core_api.cpp @@ -347,11 +347,21 @@ bool get_search(http_req & req, http_res & res) { return false; } + if(!StringUtils::is_uint64_t(req.params[MAX_FACET_VALUES])) { + res.set_400("Parameter `" + std::string(MAX_FACET_VALUES) + "` must be an unsigned integer."); + return false; + } + if(!StringUtils::is_uint64_t(req.params[MAX_HITS])) { res.set_400("Parameter `" + std::string(MAX_HITS) + "` must be an unsigned integer."); return false; } + if(!StringUtils::is_uint64_t(req.params[SNIPPET_THRESHOLD])) { + res.set_400("Parameter `" + std::string(SNIPPET_THRESHOLD) + "` must be an unsigned integer."); + return false; + } + std::string filter_str = req.params.count(FILTER) != 0 ? req.params[FILTER] : ""; std::vector search_fields; @@ -389,7 +399,7 @@ bool get_search(http_req & req, http_res & res) { } StringUtils::toupper(expression_parts[1]); - sort_fields.push_back(sort_by(expression_parts[0], expression_parts[1])); + sort_fields.emplace_back(expression_parts[0], expression_parts[1]); } }