Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cannot run blame -C -C -C #6

Closed
axelson opened this issue Feb 27, 2011 · 3 comments
Closed

Cannot run blame -C -C -C #6

axelson opened this issue Feb 27, 2011 · 3 comments
Labels

Comments

@axelson
Copy link

axelson commented Feb 27, 2011

Sometimes I like to use git blame -C -C -C file to see where all the lines in the file came from. Unfortunately this is not currently available in tig. I've made a patch to default blame to always use -C -C -C, but that is not ideal. Ideally tig blame would work similarly to show, resulting in a command line like:

tig blame [options] [rev] [--] [path]

@jonas
Copy link
Owner

jonas commented Mar 8, 2011

Yeah, this should be configurable with something like:

set blame-options = -C -C -C

@jonas
Copy link
Owner

jonas commented Mar 9, 2011

Should be fixed in ff39685

@axelson
Copy link
Author

axelson commented Mar 10, 2011

Looks good, I've tested it and it works! Thanks!

abhinav added a commit to abhinav/tig that referenced this issue Aug 2, 2023
update_view_title can be called with a `struct view`
where `line` is NULL, and `lines` is 0.

Specifically, along this call stack:

    #0  update_view_title (view=0x3fdb88 <main_view>) at [...]/tig/src/view.c:690
    jonas#1  0x0000000000338018 in report_clear () at [...]/tig/src/display.c:565
    jonas#2  0x00000000003cfe5b in load_view (view=0x3fdb88 <main_view>, prev=0x3fdb88 <main_view>, flags=OPEN_
        at [...]/tig/src/view.c:857
    jonas#3  0x00000000003d0bc0 in open_view (prev=0x0, view=0x3fdb88 <main_view>, flags=OPEN_DEFAULT)
        at [...]/tig/src/view.c:894
    jonas#4  0x00000000003b2932 in open_main_view (prev=0x0, flags=OPEN_DEFAULT) at include/tig/main.h:57
    jonas#5  0x00000000003b0cca in view_driver (view=0x0, request=REQ_VIEW_MAIN) at [...]/tig/src/tig.c:179
    jonas#6  0x00000000003af96a in main (argc=1, argv=0x7fffffffddb8) at [...]/tig/src/tig.c:864

Specifically, load_view calls report_clear when `view->lines == 0`,
which calls `update_view_title`, which attempts `&view->line[...]`
on a null `line`.

It's not clear why this doesn't explode today.
I caught it when I ran tig compiled with Zig in debug mode
and it failed with an illegal instruction on the line:

    struct line *line = &view->line[view->pos.lineno];

Adding a check for `NULL` or `lines == 0` resolves the issue.
This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants