diff options
author | Nguyễn Thái Ngọc Duy <pclouds@gmail.com> | 2019-05-29 16:11:16 +0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2019-05-29 11:04:33 -0700 |
commit | f7e68a08780e91d7c2f830f33457041407172b96 (patch) | |
tree | b157b6f56ef18c90bb56f543d196320e03cfde85 /builtin/check-ref-format.c | |
parent | diff-parseopt: restore -U (no argument) behavior (diff) | |
download | tgif-f7e68a08780e91d7c2f830f33457041407172b96.tar.xz |
parse-options: check empty value in OPT_INTEGER and OPT_ABBREV
When parsing the argument for OPT_INTEGER and OPT_ABBREV, we check if we
can parse the entire argument to a number with "if (*s)". There is one
missing check: if "arg" is empty to begin with, we fail to notice.
This could happen with long option by writing like
git diff --inter-hunk-context= blah blah
Before 16ed6c97cc (diff-parseopt: convert --inter-hunk-context,
2019-03-24), --inter-hunk-context is handled by a custom parser
opt_arg() and does detect this correctly.
This restores the bahvior for --inter-hunk-context and make sure all
other integer options are handled the same (sane) way. For OPT_ABBREV
this is new behavior. But it makes it consistent with the rest.
PS. OPT_MAGNITUDE has similar code but git_parse_ulong() does detect
empty "arg". So it's good to go.
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'builtin/check-ref-format.c')
0 files changed, 0 insertions, 0 deletions