mirror of
https://github.com/ElementsProject/lightning.git
synced 2024-11-19 01:43:36 +01:00
ccan: update ccan/utf-8 to reject NULs embedded in strings.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
This commit is contained in:
parent
c29e290ee6
commit
ae1a130ab5
@ -1,3 +1,3 @@
|
||||
CCAN imported from http://ccodearchive.net.
|
||||
|
||||
CCAN version: init-2502-gb45a3266
|
||||
CCAN version: init-2503-g56d5c41f
|
||||
|
@ -117,7 +117,7 @@ test_unicode_scalar_value(void) {
|
||||
char src[4];
|
||||
|
||||
/* Unicode scalar value [U+0000, U+007F] */
|
||||
for (ord = 0x0000; ord <= 0x007F; ord++) {
|
||||
for (ord = 0x0001; ord <= 0x007F; ord++) {
|
||||
encode_ord(ord, 1, src);
|
||||
TEST_UTF8(src, 1, ord ? 0 : ERANGE);
|
||||
}
|
||||
@ -255,7 +255,7 @@ test_continuations(void) {
|
||||
int
|
||||
main(int argc, char **argv)
|
||||
{
|
||||
plan_tests(2190906);
|
||||
plan_tests(2190906 - 1);
|
||||
test_unicode_scalar_value();
|
||||
test_surrogates();
|
||||
test_non_shortest_form();
|
||||
|
@ -63,6 +63,8 @@ bool utf8_decode(struct utf8_state *utf8_state, char c)
|
||||
/* First character in sequence. */
|
||||
if (((unsigned char)c & 0x80) == 0) {
|
||||
/* ASCII, easy. */
|
||||
if (c == 0)
|
||||
goto bad_encoding;
|
||||
utf8_state->total_len = 1;
|
||||
utf8_state->c = c;
|
||||
goto finished_decoding;
|
||||
|
@ -33,7 +33,7 @@ static inline void utf8_state_init(struct utf8_state *utf8_state)
|
||||
* Otherwise returns true, @utf8_state can be reused without initializeation,
|
||||
* and sets errno:
|
||||
* 0: success
|
||||
* EINVAL: bad encoding.
|
||||
* EINVAL: bad encoding (including a NUL character).
|
||||
* EFBIG: not a minimal encoding.
|
||||
* ERANGE: encoding of invalid character.
|
||||
*
|
||||
|
Loading…
Reference in New Issue
Block a user