1
0
Fork 0

fix buffer overflow

This commit is contained in:
jsteemann 2019-12-03 09:55:22 +01:00
parent 56d4610dca
commit e7db7f83d1
1 changed files with 6 additions and 4 deletions

View File

@ -306,18 +306,20 @@ bool parse_ngram_vpack_config(const irs::string_ref& args, irs::analysis::ngram_
auto stream_type_json = slice.get(STREAM_TYPE_PARAM_NAME.c_str());
if (!stream_type_json.isString()) {
std::string argString = slice.toJson();
IR_FRMT_WARN(
"Non-string value in '%s' while constructing ngram_token_stream "
"from jSON arguments: %s",
STREAM_TYPE_PARAM_NAME.c_str(), args.c_str());
STREAM_TYPE_PARAM_NAME.c_str(), argString.c_str());
return false;
}
auto itr = STREAM_TYPE_CONVERT_MAP.find(arangodb::iresearch::getStringRef(stream_type_json));
if (itr == STREAM_TYPE_CONVERT_MAP.end()) {
std::string argString = slice.toJson();
IR_FRMT_WARN(
"Invalid value in '%s' while constructing ngram_token_stream from "
"jSON arguments: %s",
STREAM_TYPE_PARAM_NAME.c_str(), args.c_str());
STREAM_TYPE_PARAM_NAME.c_str(), argString.c_str());
return false;
}
options.stream_bytes_type = itr->second;
@ -334,7 +336,7 @@ bool parse_ngram_vpack_config(const irs::string_ref& args, irs::analysis::ngram_
}
irs::analysis::analyzer::ptr ngram_vpack_builder(irs::string_ref const& args) noexcept {
irs::analysis::analyzer::ptr ngram_vpack_builder(irs::string_ref const& args) {
irs::analysis::ngram_token_stream_base::Options tmp;
if (parse_ngram_vpack_config(args, tmp)) {
switch (tmp.stream_bytes_type) {
@ -349,7 +351,7 @@ irs::analysis::analyzer::ptr ngram_vpack_builder(irs::string_ref const& args) no
}
bool ngram_vpack_normalizer(const irs::string_ref& args, std::string& out) noexcept {
bool ngram_vpack_normalizer(const irs::string_ref& args, std::string& out) {
irs::analysis::ngram_token_stream_base::Options tmp;
if (parse_ngram_vpack_config(args, tmp)) {
VPackBuilder vpack;