From: Mikhail Pershin Date: Wed, 4 Jun 2014 16:04:04 +0000 (+0400) Subject: LU-2059 mgs: fix a bug in mgs_llog_open X-Git-Tag: 2.6.0-RC1~62 X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=commitdiff_plain;h=8c21986e79f50131b0f381e5fe0311294328d660 LU-2059 mgs: fix a bug in mgs_llog_open - 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 Change-Id: Ib87ecb3245833fc8f9d069898a1b80c44bbfd9f0 Reviewed-on: http://review.whamcloud.com/10589 Tested-by: Jenkins Tested-by: Maloo Reviewed-by: Jian Yu Reviewed-by: Andreas Dilger Reviewed-by: Oleg Drokin --- diff --git a/lustre/mgs/mgs_handler.c b/lustre/mgs/mgs_handler.c index 6378aba..ae4c3f4 100644 --- a/lustre/mgs/mgs_handler.c +++ b/lustre/mgs/mgs_handler.c @@ -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);