mirror of
https://github.com/matrix-construct/construct
synced 2024-06-02 18:18:56 +02:00
ircd::json: Restrict escaped unicodes to UTF-16 surrogates.
This commit is contained in:
parent
92a343f69d
commit
75927abb42
15
ircd/json.cc
15
ircd/json.cc
|
@ -80,10 +80,21 @@ struct ircd::json::input
|
|||
,"number"
|
||||
};
|
||||
|
||||
// string
|
||||
const rule<> utf16_surrogate
|
||||
{
|
||||
qi::uint_parser
|
||||
<
|
||||
uint16_t, // 16 bit width
|
||||
16U, // base-16 (hex)
|
||||
4U, // minimum digits
|
||||
4U // maximum digits
|
||||
>{}
|
||||
,"UTF-16 surrogate"
|
||||
};
|
||||
|
||||
const rule<> unicode
|
||||
{
|
||||
lit('u') >> qi::uint_parser<uint64_t, 16, 1, 12>{}
|
||||
lit('u') >> utf16_surrogate
|
||||
,"escaped unicode"
|
||||
};
|
||||
|
||||
|
|
Loading…
Reference in a new issue