Skip to content

Segmentation fault with vim file in parseCommand (when no command name is given) #72

@blueyed

Description

@blueyed

ctags segfaults with the following vim file, where it seems to expect a command name:

cat > test-ctags.vim <<EOF
com! -complete=custom
EOF

Backtrace:

Program received signal SIGSEGV, Segmentation fault.
parseCommand (line=0x0) at vim.c:345
345     if ( (int) *cp == '\\' )
(gdb) bt
#0  parseCommand (line=0x0) at vim.c:345
#1  0x000000000042e10f in parseCommand (line=<optimized out>, line@entry=0x6a4dd0 "") at vim.c:431
#2  0x000000000042edf8 in parseVimLine (line=0x6a4dd0 "") at vim.c:598
#3  parseVimFile (line=0x6a4dd0 "") at vim.c:631
#4  findVimTags () at vim.c:731
#5  0x0000000000421ed8 in createTagsForFile (passCount=<optimized out>, language=44, fileName=0x7fffffffc4b0 "test-ctags.vim") at parse.c:1416
#6  createTagsWithFallback (language=44, fileName=0x7fffffffc4b0 "test-ctags.vim") at parse.c:1439
#7  parseFile (fileName=fileName@entry=0x7fffffffc4b0 "test-ctags.vim") at parse.c:1476
#8  0x0000000000418b45 in createTagsForEntry (entryName=0x7fffffffc4b0 "test-ctags.vim") at main.c:303
#9  0x0000000000403080 in createTagsForArgs (args=0x66d120) at main.c:348
#10 makeTags (args=0x66d120) at main.c:494
#11 main (argc=<optimized out>, argv=<optimized out>) at main.c:563

I've noticed this, because Exuberant ctags crashed when handling the checkout of https://github.com/c9s/vimomni.vim/blob/master/test.vim, and then hoped it would be fixed here already.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions