From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <bricha3@ecsmtp.ir.intel.com>
Received: from mga01.intel.com (mga01.intel.com [192.55.52.88])
 by dpdk.org (Postfix) with ESMTP id 7FC9D9A8A
 for <dev@dpdk.org>; Fri, 29 May 2015 16:34:22 +0200 (CEST)
Received: from orsmga003.jf.intel.com ([10.7.209.27])
 by fmsmga101.fm.intel.com with ESMTP; 29 May 2015 07:34:21 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="5.13,517,1427785200"; d="scan'208";a="578818177"
Received: from irvmail001.ir.intel.com ([163.33.26.43])
 by orsmga003.jf.intel.com with ESMTP; 29 May 2015 07:34:20 -0700
Received: from sivswdev01.ir.intel.com (sivswdev01.ir.intel.com
 [10.237.217.45])
 by irvmail001.ir.intel.com (8.14.3/8.13.6/MailSET/Hub) with ESMTP id
 t4TEYJEZ004681; Fri, 29 May 2015 15:34:19 +0100
Received: from sivswdev01.ir.intel.com (localhost [127.0.0.1])
 by sivswdev01.ir.intel.com with ESMTP id t4TEYJcS007008;
 Fri, 29 May 2015 15:34:19 +0100
Received: (from bricha3@localhost)
 by sivswdev01.ir.intel.com with  id t4TEYJQZ007004;
 Fri, 29 May 2015 15:34:19 +0100
From: Bruce Richardson <bruce.richardson@intel.com>
To: dev@dpdk.org
Date: Fri, 29 May 2015 15:34:13 +0100
Message-Id: <1432910056-6946-2-git-send-email-bruce.richardson@intel.com>
X-Mailer: git-send-email 1.7.4.1
In-Reply-To: <1432910056-6946-1-git-send-email-bruce.richardson@intel.com>
References: <1432904027-6578-1-git-send-email-bruce.richardson@intel.com>
 <1432910056-6946-1-git-send-email-bruce.richardson@intel.com>
Cc: neil.horman@tuxdriver.com
Subject: [dpdk-dev] [PATCH v2 1/4] eal: fix compile on Fedora 22 (GCC 5.1)
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: patches and discussions about DPDK <dev.dpdk.org>
List-Unsubscribe: <http://dpdk.org/ml/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://dpdk.org/ml/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <http://dpdk.org/ml/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
X-List-Received-Date: Fri, 29 May 2015 14:34:23 -0000

On Fedora 22, with GCC 5.1, errors are reported due to array accesses
being potentially out of bounds. This commit fixes this by ensuring the
bounds check in the loop takes account of the array size.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
---
 lib/librte_eal/linuxapp/eal/eal_memory.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/lib/librte_eal/linuxapp/eal/eal_memory.c b/lib/librte_eal/linuxapp/eal/eal_memory.c
index 5f9f92e..9b8d946 100644
--- a/lib/librte_eal/linuxapp/eal/eal_memory.c
+++ b/lib/librte_eal/linuxapp/eal/eal_memory.c
@@ -1188,7 +1188,9 @@ rte_eal_hugepage_init(void)
 		int socket = tmp_hp[i].socket_id;
 
 		/* find a hugepage info with right size and increment num_pages */
-		for (j = 0; j < (int) internal_config.num_hugepage_sizes; j++) {
+		const int nb_hpsizes = RTE_MIN(MAX_HUGEPAGE_SIZES,
+				(int)internal_config.num_hugepage_sizes);
+		for (j = 0; j < nb_hpsizes; j++) {
 			if (tmp_hp[i].size ==
 					internal_config.hugepage_info[j].hugepage_sz) {
 #ifdef RTE_EAL_SINGLE_FILE_SEGMENTS
-- 
2.4.1