Whamcloud - gitweb
LU-2059 mgs: fix a bug in mgs_llog_open 89/10589/2
authorMikhail Pershin <mike.pershin@intel.com>
Wed, 4 Jun 2014 16:04:04 +0000 (20:04 +0400)
committerOleg Drokin <oleg.drokin@intel.com>
Fri, 20 Jun 2014 17:25:01 +0000 (17:25 +0000)
- don't calculate len for NULL ptr
- check the logname is PARAMS_FILENAME inside 'if (ptr == NULL ...)
clause so all cases with NULL ptr will end there.

Signed-off-by: Mikhail Pershin <mike.pershin@intel.com>
Change-Id: Ib87ecb3245833fc8f9d069898a1b80c44bbfd9f0
Reviewed-on: http://review.whamcloud.com/10589
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Jian Yu <jian.yu@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
lustre/mgs/mgs_handler.c

index 6378aba..ae4c3f4 100644 (file)
@@ -540,12 +540,14 @@ static int mgs_llog_open(struct tgt_session_info *tsi)
        logname = req_capsule_client_get(tsi->tsi_pill, &RMF_NAME);
        if (logname) {
                char *ptr = strchr(logname, '-');
-               int   len = (int)(ptr - logname);
+               int   len = (ptr != NULL) ? (int)(ptr - logname) : 0;
 
-               if ((ptr == NULL && strcmp(logname, PARAMS_FILENAME) != 0) ||
-                    len >= sizeof(mgi->mgi_fsname)) {
-                       LCONSOLE_WARN("%s: non-config logname received: %s\n",
-                                     tgt_name(tsi->tsi_tgt), logname);
+               if (ptr == NULL || len >= sizeof(mgi->mgi_fsname)) {
+                       if (strcmp(logname, PARAMS_FILENAME) != 0)
+                               LCONSOLE_WARN("%s: non-config logname "
+                                             "received: %s\n",
+                                             tgt_name(tsi->tsi_tgt),
+                                             logname);
                        /* not error, this can be llog test name */
                } else {
                        strncpy(mgi->mgi_fsname, logname, len);