From 290ce87f0a59ec4ddc83918c073364540057ae64 Mon Sep 17 00:00:00 2001 Message-Id: <290ce87f0a59ec4ddc83918c073364540057ae64.1636047125.git.aclaudi@redhat.com> In-Reply-To: <5e6e93a55d2335b90aacb0107e962610cce64007.1636047125.git.aclaudi@redhat.com> References: <5e6e93a55d2335b90aacb0107e962610cce64007.1636047125.git.aclaudi@redhat.com> From: Andrea Claudi Date: Wed, 20 Oct 2021 12:32:38 +0200 Subject: [PATCH] configure: fix parsing issue on include_dir option Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1999860 Upstream Status: iproute2-next.git commit 1d819dcc commit 1d819dcc741e25958190e31f8186c940713fa0a8 Author: Andrea Claudi Date: Thu Oct 14 10:50:49 2021 +0200 configure: fix parsing issue on include_dir option configure is stuck in an endless loop if '--include_dir' option is used without a value: $ ./configure --include_dir ./configure: line 506: shift: 2: shift count out of range ./configure: line 506: shift: 2: shift count out of range [...] Fix it splitting 'shift 2' into two consecutive shifts, and making the second one conditional to the number of remaining arguments. A check is also provided after the while loop to verify the include dir exists; this avoid to produce an erroneous configuration. Fixes: a9c3d70d902a ("configure: add options ability") Signed-off-by: Andrea Claudi Acked-by: Phil Sutter Signed-off-by: David Ahern --- configure | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/configure b/configure index 7f4f3bd9..ea9051ab 100755 --- a/configure +++ b/configure @@ -485,7 +485,7 @@ usage() { cat < Path to iproute2 include dir --libbpf_dir Path to libbpf DESTDIR --libbpf_force Enable/disable libbpf by force. Available options: on: require link against libbpf, quit config if no libbpf support @@ -502,8 +502,9 @@ else while true; do case "$1" in --include_dir) - INCLUDE=$2 - shift 2 ;; + shift + INCLUDE="$1" + [ "$#" -gt 0 ] && shift ;; --libbpf_dir) LIBBPF_DIR="$2" shift 2 ;; @@ -523,6 +524,8 @@ else done fi +[ -d "$INCLUDE" ] || usage 1 + echo "# Generated config based on" $INCLUDE >$CONFIG quiet_config >> $CONFIG -- 2.31.1