The code is attempting to verify that 0 <= k < 3 However, sizeof(val) is 12, assuming 4 byte integers. The check needs to take integer size into account. Found by coverity. Reviewed-by: Martin Wilck <mwilck@xxxxxxxx> Signed-off-by: Benjamin Marzinski <bmarzins@xxxxxxxxxx> --- multipath/main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/multipath/main.c b/multipath/main.c index fc5bf16..d5aad95 100644 --- a/multipath/main.c +++ b/multipath/main.c @@ -482,7 +482,7 @@ static int print_cmd_valid(int k, const vector pathvec, struct timespec until; struct path *pp; - if (k < 0 || k >= sizeof(vals)) + if (k < 0 || k >= (sizeof(vals) / sizeof(int))) return 1; if (k == 2) { -- 2.7.4 -- dm-devel mailing list dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel