From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Benjamin Marzinski" Subject: [PATCH v3 13/19] multipath: fix max array size in print_cmd_valid Date: Fri, 21 Sep 2018 18:05:21 -0500 Message-ID: <1537571127-10143-14-git-send-email-bmarzins@redhat.com> References: <1537571127-10143-1-git-send-email-bmarzins@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <1537571127-10143-1-git-send-email-bmarzins@redhat.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: dm-devel-bounces@redhat.com Errors-To: dm-devel-bounces@redhat.com To: device-mapper development Cc: Martin Wilck List-Id: dm-devel.ids 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. Signed-off-by: Benjamin Marzinski --- 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