mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-08 22:30:07 +00: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>
|
2017-11-11 Florian Weimer <fweimer@redhat.com>
|
||||||
|
|
||||||
* resolv/tst-ns_name_pton.c: New file.
|
* 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;
|
*bp++ = (u_char)c;
|
||||||
}
|
}
|
||||||
|
if (escaped) {
|
||||||
|
/* Trailing backslash. */
|
||||||
|
__set_errno (EMSGSIZE);
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
c = (bp - label - 1);
|
c = (bp - label - 1);
|
||||||
if ((c & NS_CMPRSFLGS) != 0) { /*%< Label too big. */
|
if ((c & NS_CMPRSFLGS) != 0) { /*%< Label too big. */
|
||||||
__set_errno (EMSGSIZE);
|
__set_errno (EMSGSIZE);
|
||||||
|
@ -127,6 +127,13 @@ static const struct test_case tests[] =
|
|||||||
"\377\377", NULL, },
|
"\377\377", NULL, },
|
||||||
{ STRING63OCT "." STRING63OCT "." STRING63OCT "." STRING60OCT
|
{ STRING63OCT "." STRING63OCT "." STRING63OCT "." STRING60OCT
|
||||||
"\377\377\377", NULL, },
|
"\377\377\377", NULL, },
|
||||||
|
{ "\\", NULL, },
|
||||||
|
{ "\\\\", "\\\\", false },
|
||||||
|
{ "\\\\.", "\\\\", true },
|
||||||
|
{ "\\\\\\", NULL, },
|
||||||
|
{ "a\\", NULL, },
|
||||||
|
{ "a.\\", NULL, },
|
||||||
|
{ "a.b\\", NULL, },
|
||||||
};
|
};
|
||||||
|
|
||||||
static int
|
static int
|
||||||
|
Loading…
Reference in New Issue
Block a user