From 5ce922a014f78684a96c3d03a51decf0d21fa58d Mon Sep 17 00:00:00 2001 From: Eric Sunshine Date: Tue, 6 Aug 2013 09:59:49 -0400 Subject: line-range: reject -L line numbers less than 1 Since inception, git-blame -L has been documented as accepting 1-based line numbers. When handed a line number less than 1, -L's behavior is undocumented and undefined; it's also nonsensical and should be diagnosed as an error. Do so. Signed-off-by: Eric Sunshine Signed-off-by: Junio C Hamano --- line-range.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'line-range.c') diff --git a/line-range.c b/line-range.c index ede0c6c98..de4e32f94 100644 --- a/line-range.c +++ b/line-range.c @@ -54,8 +54,11 @@ static const char *parse_loc(const char *spec, nth_line_fn_t nth_line, } num = strtol(spec, &term, 10); if (term != spec) { - if (ret) + if (ret) { + if (num <= 0) + die("-L invalid line number: %ld", num); *ret = num; + } return term; } -- cgit v1.2.1