From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by dpdk.org (Postfix) with ESMTP id 7FC9D9A8A for ; 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 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 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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 --- 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