From 2b53b3717f9d88f28fb2873b7700897360298a41 Mon Sep 17 00:00:00 2001 From: Michael Mikonos <127171689+mknos@users.noreply.github.com> Date: Mon, 20 May 2024 16:04:59 +0800 Subject: [PATCH] ar: sanity check archive argument * Don't attempt to open an archive file if no archive was specified (all valid usages require an archive to operate on) * exit(1) in usage() to indicate that something went wrong (matches GNU version) --- bin/ar | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/bin/ar b/bin/ar index c52341b5..90418c32 100755 --- a/bin/ar +++ b/bin/ar @@ -48,6 +48,10 @@ if ($opt_a || $opt_b) { # the archive filename my $archive = shift; +unless (defined $archive) { + warn "$0: archive file required\n"; + usage(); +} my $pAr = {}; # the archive is just a hash of name => [ header, data ] my $pNames = []; # a ref to an array of names in the order they appear @@ -422,7 +426,7 @@ usage: ar -d [-v] archive file ... ar -t [-v] archive [file ...] ar -x [-ouv] archive [file ...] EOT - exit; + exit 1; } __END__