diff options
author | Andrea Claudi <aclaudi@redhat.com> | 2021-10-14 10:50:50 +0200 |
---|---|---|
committer | David Ahern <dsahern@kernel.org> | 2021-10-15 17:56:53 -0600 |
commit | 48c379bc2afd43b3246f68ed46475f5318b1218f (patch) | |
tree | 7b1dcda6d1f10fd08209af2b69bdd7d441173c23 /configure | |
parent | 1d819dcc741e25958190e31f8186c940713fa0a8 (diff) | |
download | iproute2-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-x | configure | 10 |
1 files changed, 7 insertions, 3 deletions
@@ -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 |