aboutsummaryrefslogtreecommitdiff
path: root/builtin/rev-parse.c
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2022-09-13 11:38:25 -0700
committerJunio C Hamano <gitster@pobox.com>2022-09-13 11:38:25 -0700
commitde1fee2f1e730310aa14fae3c3603450c538cf72 (patch)
tree97662e0bcf5cc24fd4fe9df5697b6277d91dbdc2 /builtin/rev-parse.c
parente4ffba458fd173949ae04f77b8165c3c061f183e (diff)
parentf20b9c36d034fe37715d18ef67183cf5544227a7 (diff)
downloadgit-de1fee2f1e730310aa14fae3c3603450c538cf72.tar.xz
Merge branch 'ow/rev-parse-parseopt-fix'
The parser in the script interface to parse-options in "git rev-parse" has been updated to diagnose a bogus input correctly. * ow/rev-parse-parseopt-fix: rev-parse --parseopt: detect missing opt-spec
Diffstat (limited to 'builtin/rev-parse.c')
-rw-r--r--builtin/rev-parse.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/builtin/rev-parse.c b/builtin/rev-parse.c
index b259d8990a..85c271acd7 100644
--- a/builtin/rev-parse.c
+++ b/builtin/rev-parse.c
@@ -479,6 +479,9 @@ static int cmd_parseopt(int argc, const char **argv, const char *prefix)
if (!s)
s = help;
+ if (s == sb.buf)
+ die(_("missing opt-spec before option flags"));
+
if (s - sb.buf == 1) /* short option only */
o->short_name = *sb.buf;
else if (sb.buf[1] != ',') /* long option only */