From: Sebastien Buisson Date: Tue, 22 May 2018 15:50:53 +0000 (+0200) Subject: LU-11049 ssk: correctly handle null byte by lgss_sk X-Git-Tag: 2.11.53~50 X-Git-Url: https://git.whamcloud.com/?a=commitdiff_plain;h=refs%2Fchanges%2F10%2F32510%2F4;p=fs%2Flustre-release.git LU-11049 ssk: correctly handle null byte by lgss_sk lgss_sk must include null byte with fsname and nodemap info taken from command line. Signed-off-by: Sebastien Buisson Change-Id: Ie98444c930b8df521482468c4897e080ded0d2f6 Reviewed-on: https://review.whamcloud.com/32510 Tested-by: Jenkins Tested-by: Maloo Reviewed-by: John L. Hammond Reviewed-by: Jeremy Filizetti Reviewed-by: Oleg Drokin --- diff --git a/lustre/utils/gss/lgss_sk.c b/lustre/utils/gss/lgss_sk.c index 1263944..0a3d3fd 100644 --- a/lustre/utils/gss/lgss_sk.c +++ b/lustre/utils/gss/lgss_sk.c @@ -542,8 +542,8 @@ int main(int argc, char **argv) config->skc_type = type; generate_prime = type & SK_TYPE_CLIENT; - strncpy(config->skc_nodemap, SK_DEFAULT_NODEMAP, - strlen(SK_DEFAULT_NODEMAP)); + /* SK_DEFAULT_NODEMAP is made to fit in skc_nodemap */ + strcpy(config->skc_nodemap, SK_DEFAULT_NODEMAP); if (!datafile) datafile = "/dev/random"; @@ -560,9 +560,15 @@ int main(int argc, char **argv) if (prime_bits != -1) config->skc_prime_bits = prime_bits; if (fsname) - strncpy(config->skc_fsname, fsname, strlen(fsname)); + /* fsname string length was checked when parsing + * command-line options + */ + strcpy(config->skc_fsname, fsname); if (nodemap) - strncpy(config->skc_nodemap, nodemap, strlen(nodemap)); + /* nodemap string length was checked when parsing + * command-line options + */ + strcpy(config->skc_nodemap, nodemap); if (mgsnids && parse_mgsnids(mgsnids, config)) goto error; if (sk_validate_config(config)) {