blame: reject empty ranges -LX,+0 and -LX,-0
[gitweb.git] / builtin / blame.c
index 079dcd3407881ce0ea988c3f487faf8ca6d3e5d2..e70b089a67d4c4b87663faebd788c437c1f1ce73 100644 (file)
@@ -2495,13 +2495,13 @@ int cmd_blame(int argc, const char **argv, const char *prefix)
        bottom = top = 0;
        if (bottomtop)
                prepare_blame_range(&sb, bottomtop, lno, &bottom, &top);
+       if (lno < top || ((lno || bottom) && lno < bottom))
+               die("file %s has only %lu lines", path, lno);
        if (bottom < 1)
                bottom = 1;
        if (top < 1)
                top = lno;
        bottom--;
-       if (lno < top || lno < bottom)
-               die("file %s has only %lu lines", path, lno);
 
        ent = xcalloc(1, sizeof(*ent));
        ent->lno = bottom;