From d978a02b91758344e2ca8927caa05ebf876ad23c Mon Sep 17 00:00:00 2001 From: Jason Volk Date: Tue, 2 Aug 2022 12:19:05 -0700 Subject: [PATCH] ircd::rfc3986: Fix errant signed integer check w/ qi::int_parser. --- ircd/rfc3986.cc | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/ircd/rfc3986.cc b/ircd/rfc3986.cc index 2f034cd3d..63c810346 100644 --- a/ircd/rfc3986.cc +++ b/ircd/rfc3986.cc @@ -435,22 +435,22 @@ namespace ircd::rfc3986::parser::decoder static const auto is_safe { - [](const char val, auto &c, bool &pass) + [](const int8_t val, auto &c, bool &pass) { pass = (val > 0x1F) | (val < 0x00); attr_at<0>(c) = val; } }; - const expr decode_char + const rule decode_char_safe { - lit('%') >> qi::int_parser{} + lit('%') > qi::int_parser{}[is_safe] ,"url decodable character" }; - const rule decode_char_safe + const expr decode_char { - lit('%') > qi::int_parser{}[is_safe] + lit('%') >> qi::int_parser{} ,"url decodable character" };