naccyde / rpms / systemd

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