Whamcloud - gitweb
LU-11049 ssk: correctly handle null byte by lgss_sk 10/32510/4
authorSebastien Buisson <sbuisson@ddn.com>
Tue, 22 May 2018 15:50:53 +0000 (17:50 +0200)
committerOleg Drokin <oleg.drokin@intel.com>
Thu, 14 Jun 2018 03:53:57 +0000 (03:53 +0000)
lgss_sk must include null byte with fsname and nodemap info taken from
command line.

Signed-off-by: Sebastien Buisson <sbuisson@ddn.com>
Change-Id: Ie98444c930b8df521482468c4897e080ded0d2f6
Reviewed-on: https://review.whamcloud.com/32510
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: Jeremy Filizetti <jeremy.filizetti@gmail.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
lustre/utils/gss/lgss_sk.c

index 1263944..0a3d3fd 100644 (file)
@@ -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)) {