Whamcloud - gitweb
LU-4629 lmv: fix issue found by Klocwork Insight tool 90/9390/2
authorDmitry Eremin <dmitry.eremin@intel.com>
Tue, 25 Feb 2014 20:51:45 +0000 (00:51 +0400)
committerOleg Drokin <oleg.drokin@intel.com>
Sat, 1 Mar 2014 02:31:00 +0000 (02:31 +0000)
'plock.cookie' might be used uninitialized in this function.

sscanf format specification '%d' expects type 'int *' for 'd',
but parameter 3 has a different type '__u32*'

Signed-off-by: Dmitry Eremin <dmitry.eremin@intel.com>
Change-Id: Ie800e69f345e815dc7437b89707cbaabac1af5f7
Reviewed-on: http://review.whamcloud.com/9390
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: James Simmons <uja.ornl@gmail.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
lustre/lmv/lmv_intent.c
lustre/lmv/lmv_obd.c

index 771d381..57a6f94 100644 (file)
@@ -143,8 +143,10 @@ static int lmv_intent_remote(struct obd_export *exp, void *lmm,
                it->d.lustre.it_remote_lock_mode = it->d.lustre.it_lock_mode;
        }
 
                it->d.lustre.it_remote_lock_mode = it->d.lustre.it_lock_mode;
        }
 
-       it->d.lustre.it_lock_handle = plock.cookie;
-       it->d.lustre.it_lock_mode = pmode;
+       if (pmode) {
+               it->d.lustre.it_lock_handle = plock.cookie;
+               it->d.lustre.it_lock_mode = pmode;
+       }
 
        EXIT;
 out_free_op_data:
 
        EXIT;
 out_free_op_data:
index ce5d137..26ee849 100644 (file)
@@ -1530,7 +1530,7 @@ static int lmv_process_config(struct obd_device *obd, obd_count len, void *buf)
 
                obd_str2uuid(&obd_uuid,  lustre_cfg_buf(lcfg, 1));
 
 
                obd_str2uuid(&obd_uuid,  lustre_cfg_buf(lcfg, 1));
 
-               if (sscanf(lustre_cfg_buf(lcfg, 2), "%d", &index) != 1)
+               if (sscanf(lustre_cfg_buf(lcfg, 2), "%u", &index) != 1)
                        GOTO(out, rc = -EINVAL);
                if (sscanf(lustre_cfg_buf(lcfg, 3), "%d", &gen) != 1)
                        GOTO(out, rc = -EINVAL);
                        GOTO(out, rc = -EINVAL);
                if (sscanf(lustre_cfg_buf(lcfg, 3), "%d", &gen) != 1)
                        GOTO(out, rc = -EINVAL);