| From cb31827d62066a04b02111df3052949fda4b6888 Mon Sep 17 00:00:00 2001 |
| From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl> |
| Date: Mon, 23 Nov 2015 13:59:43 -0500 |
| Subject: [PATCH] nss-mymachines: do not allow overlong machine names |
| |
| https://github.com/systemd/systemd/issues/2002 |
| --- |
| src/nss-mymachines/nss-mymachines.c | 6 ++++++ |
| 1 file changed, 6 insertions(+) |
| |
| diff --git a/src/nss-mymachines/nss-mymachines.c b/src/nss-mymachines/nss-mymachines.c |
| index 969fa96..c98a959 100644 |
| --- a/src/nss-mymachines/nss-mymachines.c |
| +++ b/src/nss-mymachines/nss-mymachines.c |
| @@ -416,6 +416,9 @@ enum nss_status _nss_mymachines_getpwnam_r( |
| if (!e || e == p) |
| goto not_found; |
| |
| + if (e - p > HOST_NAME_MAX - 1) /* -1 for the last dash */ |
| + goto not_found; |
| + |
| r = parse_uid(e + 1, &uid); |
| if (r < 0) |
| goto not_found; |
| @@ -573,6 +576,9 @@ enum nss_status _nss_mymachines_getgrnam_r( |
| if (!e || e == p) |
| goto not_found; |
| |
| + if (e - p > HOST_NAME_MAX - 1) /* -1 for the last dash */ |
| + goto not_found; |
| + |
| r = parse_gid(e + 1, &gid); |
| if (r < 0) |
| goto not_found; |
| -- |
| 2.6.3 |
| |