mirror of
git://sourceware.org/git/glibc.git
synced 2024-11-27 03:41:23 +08:00
resolv: ns_name_pton should report trailing \ as error [BZ #22413]
This commit is contained in:
parent
e2a9fca810
commit
9e0ad3049d
@ -1,3 +1,9 @@
|
||||
2017-11-11 Florian Weimer <fweimer@redhat.com>
|
||||
|
||||
[BZ #22413]
|
||||
* resolv/ns_name.c (ns_name_pton): Treat trailing backslash as error.
|
||||
* resolv/tst-ns_name_pton.c (tests): Add trailing backslash tests.
|
||||
|
||||
2017-11-11 Florian Weimer <fweimer@redhat.com>
|
||||
|
||||
* resolv/tst-ns_name_pton.c: New file.
|
||||
|
@ -222,6 +222,11 @@ ns_name_pton(const char *src, u_char *dst, size_t dstsiz)
|
||||
}
|
||||
*bp++ = (u_char)c;
|
||||
}
|
||||
if (escaped) {
|
||||
/* Trailing backslash. */
|
||||
__set_errno (EMSGSIZE);
|
||||
return -1;
|
||||
}
|
||||
c = (bp - label - 1);
|
||||
if ((c & NS_CMPRSFLGS) != 0) { /*%< Label too big. */
|
||||
__set_errno (EMSGSIZE);
|
||||
|
@ -127,6 +127,13 @@ static const struct test_case tests[] =
|
||||
"\377\377", NULL, },
|
||||
{ STRING63OCT "." STRING63OCT "." STRING63OCT "." STRING60OCT
|
||||
"\377\377\377", NULL, },
|
||||
{ "\\", NULL, },
|
||||
{ "\\\\", "\\\\", false },
|
||||
{ "\\\\.", "\\\\", true },
|
||||
{ "\\\\\\", NULL, },
|
||||
{ "a\\", NULL, },
|
||||
{ "a.\\", NULL, },
|
||||
{ "a.b\\", NULL, },
|
||||
};
|
||||
|
||||
static int
|
||||
|
Loading…
Reference in New Issue
Block a user