summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2015-11-23 20:51:57 +0100
committerLennart Poettering <lennart@poettering.net>2015-11-23 20:51:57 +0100
commit8f00f8d6d731c665150def1592fa41ca84ae46ba (patch)
tree387cadd2f5e98b48be5009d663aeb94974a7a449
parent3a7f4776cc83a465440f3dce301663af9373d745 (diff)
parentcb31827d62066a04b02111df3052949fda4b6888 (diff)
Merge pull request #2006 from keszybz/mymachines-overflow
nss-mymachines: do not allow overlong machine names
-rw-r--r--src/nss-mymachines/nss-mymachines.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/nss-mymachines/nss-mymachines.c b/src/nss-mymachines/nss-mymachines.c
index 969fa9619e..c98a959b3b 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;