diff options
author | Lennart Poettering <lennart@poettering.net> | 2015-11-23 20:51:57 +0100 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2015-11-23 20:51:57 +0100 |
commit | 8f00f8d6d731c665150def1592fa41ca84ae46ba (patch) | |
tree | 387cadd2f5e98b48be5009d663aeb94974a7a449 | |
parent | 3a7f4776cc83a465440f3dce301663af9373d745 (diff) | |
parent | cb31827d62066a04b02111df3052949fda4b6888 (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.c | 6 |
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; |