summaryrefslogtreecommitdiff
path: root/configure
diff options
context:
space:
mode:
authorAndrea Claudi <aclaudi@redhat.com>2021-10-14 10:50:50 +0200
committerDavid Ahern <dsahern@kernel.org>2021-10-15 17:56:53 -0600
commit48c379bc2afd43b3246f68ed46475f5318b1218f (patch)
tree7b1dcda6d1f10fd08209af2b69bdd7d441173c23 /configure
parent1d819dcc741e25958190e31f8186c940713fa0a8 (diff)
downloadiproute2-48c379bc2afd43b3246f68ed46475f5318b1218f.tar.gz
configure: fix parsing issue on libbpf_dir option
configure is stuck in an endless loop if '--libbpf_dir' option is used without a value: $ ./configure --libbpf_dir ./configure: line 515: shift: 2: shift count out of range ./configure: line 515: 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 libbpf dir exists; also, as LIBBPF_DIR does not have a default value, configure bails out if the user does not specify a value after --libbpf_dir, thus avoiding to produce an erroneous configuration. Fixes: 7ae2585b865a ("configure: convert LIBBPF environment variables to command-line options") Signed-off-by: Andrea Claudi <aclaudi@redhat.com> Acked-by: Phil Sutter <phil@nwl.cc> Signed-off-by: David Ahern <dsahern@kernel.org>
Diffstat (limited to 'configure')
-rwxr-xr-xconfigure10
1 files changed, 7 insertions, 3 deletions
diff --git a/configure b/configure
index ea9051ab..0f304206 100755
--- a/configure
+++ b/configure
@@ -486,7 +486,7 @@ usage()
cat <<EOF
Usage: $0 [OPTIONS]
--include_dir <dir> Path to iproute2 include dir
- --libbpf_dir Path to libbpf DESTDIR
+ --libbpf_dir <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
off: disable libbpf probing
@@ -506,8 +506,9 @@ else
INCLUDE="$1"
[ "$#" -gt 0 ] && shift ;;
--libbpf_dir)
- LIBBPF_DIR="$2"
- shift 2 ;;
+ shift
+ LIBBPF_DIR="$1"
+ [ "$#" -gt 0 ] && shift ;;
--libbpf_force)
if [ "$2" != 'on' ] && [ "$2" != 'off' ]; then
usage 1
@@ -525,6 +526,9 @@ else
fi
[ -d "$INCLUDE" ] || usage 1
+if [ "${LIBBPF_DIR-unused}" != "unused" ]; then
+ [ -d "$LIBBPF_DIR" ] || usage 1
+fi
echo "# Generated config based on" $INCLUDE >$CONFIG
quiet_config >> $CONFIG