Skip to content

Conversation

fhahn
Copy link

@fhahn fhahn commented Feb 21, 2014

Update CmakeLists.txt to fail if libuv is not installed

@yansal
Copy link

yansal commented Feb 21, 2014

It breaks the build on OSX and Ubuntu.

@ashleyh
Copy link
Contributor

ashleyh commented Feb 21, 2014

We're not using the system libuv.

@tarruda
Copy link
Member

tarruda commented Feb 21, 2014

We can probably add support for building against system libraries, but by default I think its better to automatically download and static link.

@fhahn If you are willing feel free to create an option, something like --with-system=uv that would stop cmake from linking against the local versions.

@bk2204
Copy link
Contributor

bk2204 commented Feb 21, 2014

I would much prefer an option (the default, even) to link against the system libuv. It's a bit unsettling to have the Makefile download and build code from the Internet without even asking, and that isn't really going to work for distributions anyway.

On Debian sid, cmake can already find libuv by default as it is.

@fhahn
Copy link
Author

fhahn commented Feb 21, 2014

I'm using Arch Linux with the libuv version from AUR, I wasn't aware that libuv gets fetched automatically by the makefile (I did not use the Makefile to generate the cmake files). I can add an option to use the system's libuv.

@tarruda
Copy link
Member

tarruda commented Feb 22, 2014

@fhahn If you do, please squash the commits so we can have a cleaner history

@fhahn
Copy link
Author

fhahn commented Feb 22, 2014

I've updated the commit. Cmake's find_library is used to check if libuv is installed systemwide. If this check fails, it checks if libuv is available in the .deps directory. If this check fails the dependency is fetched using the provided scripts.

Should I add an option to the cmake files to disable fetching dependencies automatically?

Also, I'm not sure if and how this should be integrated in the provided Makefile. In my opinion, the cmake files are the correct place to check and fetch all dependencies.

@tarruda
Copy link
Member

tarruda commented Feb 22, 2014

@bk2204 I disagree and here's why:

  • We will be targeting against a fixed libuv version, while it seems unlikely, linking against a different libuv version might cause bugs.
  • Normal users just looking to compile and run the program shouldn't have to worry if their system-installed version matches the one we target neovim.
  • Ensuring a package compiles against distro's versions of libraries should be the job the package maintainer dont you agree?. They have the skills necessary to easily create compatibility patches and automate everything in the package build script.
  • Most of the times, all a package maintainer would have to do is add a command-line flag to the build script, eg: DISABLE_UV_DOWNLOAD=1 make cmake, this would make the build fail unless libuv was installed.

Do you have any arguments to back your opinion that system libraries should be used by default? @fhahn / @ashleyh any thoughts?

For now I will leave this PR open until we decide what is the best approach.

@bk2204
Copy link
Contributor

bk2204 commented Feb 22, 2014

@tarruda, the reason I want to use the system libuv is all the benefits that go along with it.

  • Debian (likewise Red Hat, etc.) has a dedicated team that can provide security fixes mere hours after a vulnerability is public. They also get advance notice of vulnerabilities for coordination purposes. Furthermore, they can backport just the security fix so that all the code still works, just without the vulnerability, whereas you have to update to a new (and maybe incompatible) upstream version.
  • The system library also automatically gets any bug fixes that may happen to show up in distribution packages.
  • Shared libraries can result in page sharing, which is beneficial for memory usage.
  • Compiling against a static library means that neovim must be recompiled if a new but compatible version of the library comes out.
  • Currently, if you update the script that downloads the new version, that doesn't cause the static version of libuv in .deps to be rebuilt, so people can still build against buggy or insecure old versions.
  • Not building against the system libuv means that neovim can't be built fresh offline.
  • I really do not like the idea of a makefile automatically downloading code from the Internet, even if you've validated it with SHA-1.

@ashleyh
Copy link
Contributor

ashleyh commented Feb 23, 2014

There is no point arguing about this. Let's just add the option, then people can choose for themselves.

@andrewrk
Copy link

There are 2 reasons to argue about it and not add an option:

  1. The power of defaults
  2. One of the main points of this project is to cut down on optional things to make it more maintainable.

As a debian package maintainer, I strongly agree with @bk2204.

@jszakmeister
Copy link
Contributor

FWIW, I agree with @bk2204 and @andrewrk, using the system library is a good idea. I understand the API issues, but the bottom line is that package managers are going to do it anyways because the security implications are so strong.

However, if you are still going to download libuv when it's not available, you could enhance this proposal by using CMake's built-in download facility via file(DOWNLOAD ...). It's pretty limited in 2.6, but newer versions of CMake have a SHOW_PROGRESS flag, among other options.

@ashleyh
Copy link
Contributor

ashleyh commented Feb 23, 2014

Since this debate is still happening here is my 2p: I like that the current approach avoids dependency hell but I think we should probably switch to the system libuv. The biggest win from my point of view would be the greatly simplified build process.

@fhahn
Copy link
Author

fhahn commented Feb 23, 2014

I've added an FetchLibuv option to the cmake files, it defaults to ON at the moment, which means that libuv will be downloaded if no system library is found. It can be disabled with cmake .. -DFetchLibuv=OFF. In my opinion we should encourage to use cmake without the Makefile as wrapper.

Another point, I think it would be useful to specify the minimum required version of libuv. It works with version 0.11.19 (Arch Linux) for me.

@tarruda
Copy link
Member

tarruda commented Feb 26, 2014

This was closed by #116.

@tarruda tarruda closed this Feb 26, 2014
@fhahn fhahn deleted the check-libuv-cmake branch February 26, 2014 13:16
@buf1024 buf1024 mentioned this pull request Jul 18, 2015
justinmk added a commit to justinmk/neovim that referenced this pull request May 15, 2016
References neovim#3958

Test provokes ASAN failure:

=================================================================
==12124==ERROR: AddressSanitizer: heap-use-after-free on address 0x625000070928 at pc 0x000003abe56f bp 0x7fff3d320b10 sp 0x7fff3d320b08
READ of size 8 at 0x625000070928 thread T0
    #0 0x3abe56e in terminal_receive /home/travis/build/neovim/neovim/src/nvim/terminal.c:541:21
    #1 0xeaf1c3 in on_job_output /home/travis/build/neovim/neovim/src/nvim/eval.c:21664:5
    #2 0xeadbe4 in on_job_stdout /home/travis/build/neovim/neovim/src/nvim/eval.c:21639:3
    #3 0x119d6d2 in read_event /home/travis/build/neovim/neovim/src/nvim/event/rstream.c:178:5
    #4 0x118ff42 in queue_process_events /home/travis/build/neovim/neovim/src/nvim/event/queue.c:142:7
    #5 0x25cb680 in nv_event /home/travis/build/neovim/neovim/src/nvim/normal.c:7876:3
    #6 0x249e003 in normal_execute /home/travis/build/neovim/neovim/src/nvim/normal.c:1144:12
    neovim#7 0x3822fb3 in state_enter /home/travis/build/neovim/neovim/src/nvim/state.c:55:26
    neovim#8 0x23e3a34 in normal_enter /home/travis/build/neovim/neovim/src/nvim/normal.c:464:3
    neovim#9 0x1cfcd37 in main /home/travis/build/neovim/neovim/src/nvim/main.c:538:3
    neovim#10 0x2b30c093876c in __libc_start_main /build/eglibc-rrybNj/eglibc-2.15/csu/libc-start.c:226
    neovim#11 0x46b268 in _start (/home/travis/build/neovim/neovim/build/bin/nvim+0x46b268)

0x625000070928 is located 40 bytes inside of 8328-byte region [0x625000070900,0x625000072988)
freed by thread T0 here:
    #0 0x4f1f72 in __interceptor_free (/home/travis/build/neovim/neovim/build/bin/nvim+0x4f1f72)
    #1 0x2073ea5 in xfree /home/travis/build/neovim/neovim/src/nvim/memory.c:105:3
    #2 0x3ad386d in terminal_destroy /home/travis/build/neovim/neovim/src/nvim/terminal.c:507:5
    #3 0xea9b49 in term_close /home/travis/build/neovim/neovim/src/nvim/eval.c:21711:3
    #4 0x3abdd6b in terminal_close /home/travis/build/neovim/neovim/src/nvim/terminal.c:321:7
    #5 0x6d9355 in close_buffer /home/travis/build/neovim/neovim/src/nvim/buffer.c:393:5
    #6 0x717505 in empty_curbuf /home/travis/build/neovim/neovim/src/nvim/buffer.c:842:5
    neovim#7 0x6f9dc5 in do_buffer /home/travis/build/neovim/neovim/src/nvim/buffer.c:988:14
    neovim#8 0x70e054 in do_bufdel /home/travis/build/neovim/neovim/src/nvim/buffer.c:732:11
    neovim#9 0x14b99da in ex_bunload /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:4373:17
    neovim#10 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#11 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#12 0x2520d32 in nv_colon /home/travis/build/neovim/neovim/src/nvim/normal.c:4488:18
    neovim#13 0x249e003 in normal_execute /home/travis/build/neovim/neovim/src/nvim/normal.c:1144:12
    neovim#14 0x3822fb3 in state_enter /home/travis/build/neovim/neovim/src/nvim/state.c:55:26
    neovim#15 0x23e3a34 in normal_enter /home/travis/build/neovim/neovim/src/nvim/normal.c:464:3
    neovim#16 0x1cfcd37 in main /home/travis/build/neovim/neovim/src/nvim/main.c:538:3
    neovim#17 0x2b30c093876c in __libc_start_main /build/eglibc-rrybNj/eglibc-2.15/csu/libc-start.c:226

previously allocated by thread T0 here:
    #0 0x4f23cb in calloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x4f23cb)
    #1 0x2074608 in xcalloc /home/travis/build/neovim/neovim/src/nvim/memory.c:119:15
    #2 0x3ab0bb8 in terminal_open /home/travis/build/neovim/neovim/src/nvim/terminal.c:215:18
    #3 0xe59e77 in f_termopen /home/travis/build/neovim/neovim/src/nvim/eval.c:16380:20
    #4 0xb76afa in call_func /home/travis/build/neovim/neovim/src/nvim/eval.c:7256:21
    #5 0xbae096 in get_func_tv /home/travis/build/neovim/neovim/src/nvim/eval.c:7105:11
    #6 0xb9e700 in ex_call /home/travis/build/neovim/neovim/src/nvim/eval.c:2761:9
    neovim#7 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#8 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#9 0x2520d32 in nv_colon /home/travis/build/neovim/neovim/src/nvim/normal.c:4488:18
    neovim#10 0x249e003 in normal_execute /home/travis/build/neovim/neovim/src/nvim/normal.c:1144:12
    neovim#11 0x3822fb3 in state_enter /home/travis/build/neovim/neovim/src/nvim/state.c:55:26
    neovim#12 0x23e3a34 in normal_enter /home/travis/build/neovim/neovim/src/nvim/normal.c:464:3
    neovim#13 0x1cfcd37 in main /home/travis/build/neovim/neovim/src/nvim/main.c:538:3
    neovim#14 0x2b30c093876c in __libc_start_main /build/eglibc-rrybNj/eglibc-2.15/csu/libc-start.c:226

SUMMARY: AddressSanitizer: heap-use-after-free /home/travis/build/neovim/neovim/src/nvim/terminal.c:541 terminal_receive
Shadow bytes around the buggy address:
  0x0c4a800060d0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0c4a800060e0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0c4a800060f0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0c4a80006100: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0c4a80006110: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
=>0x0c4a80006120: fd fd fd fd fd[fd]fd fd fd fd fd fd fd fd fd fd
  0x0c4a80006130: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
  0x0c4a80006140: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
  0x0c4a80006150: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
  0x0c4a80006160: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
  0x0c4a80006170: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
Shadow byte legend (one shadow byte represents 8 application bytes):
  Addressable:           00
  Partially addressable: 01 02 03 04 05 06 07
  Heap left redzone:       fa
  Heap right redzone:      fb
  Freed heap region:       fd
  Stack left redzone:      f1
  Stack mid redzone:       f2
  Stack right redzone:     f3
  Stack partial redzone:   f4
  Stack after return:      f5
  Stack use after scope:   f8
  Global redzone:          f9
  Global init order:       f6
  Poisoned by user:        f7
  Container overflow:      fc
  Array cookie:            ac
  Intra object redzone:    bb
  ASan internal:           fe
  Left alloca redzone:     ca
  Right alloca redzone:    cb
==12124==ABORTING

=================================================================
==12138==ERROR: LeakSanitizer: detected memory leaks

Indirect leak of 8328 byte(s) in 1 object(s) allocated from:
    #0 0x4f23cb in calloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x4f23cb)
    #1 0x2074608 in xcalloc /home/travis/build/neovim/neovim/src/nvim/memory.c:119:15
    #2 0x3ab0bb8 in terminal_open /home/travis/build/neovim/neovim/src/nvim/terminal.c:215:18
    #3 0xe59e77 in f_termopen /home/travis/build/neovim/neovim/src/nvim/eval.c:16380:20
    #4 0xb76afa in call_func /home/travis/build/neovim/neovim/src/nvim/eval.c:7256:21
    #5 0xbae096 in get_func_tv /home/travis/build/neovim/neovim/src/nvim/eval.c:7105:11
    #6 0xb9e700 in ex_call /home/travis/build/neovim/neovim/src/nvim/eval.c:2761:9
    neovim#7 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#8 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#9 0x13dd51c in do_cmdline_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:274:10
    neovim#10 0x1527f8d in ex_terminal /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:9515:3
    neovim#11 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#12 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#13 0x138a55d in do_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2611:3
    neovim#14 0x1380347 in cmd_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2323:12
    neovim#15 0x1380853 in ex_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2301:3
    neovim#16 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#17 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#18 0x13dd51c in do_cmdline_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:274:10
    neovim#19 0x68414a in vim_command /home/travis/build/neovim/neovim/src/nvim/api/vim.c:43:3
    neovim#20 0x599ed9 in handle_vim_command /home/travis/build/neovim/neovim/build/src/nvim/auto/msgpack_dispatch.c:2128:3
    neovim#21 0x23488a5 in on_request_event /home/travis/build/neovim/neovim/src/nvim/msgpack_rpc/channel.c:481:19
    neovim#22 0x118ff42 in queue_process_events /home/travis/build/neovim/neovim/src/nvim/event/queue.c:142:7
    neovim#23 0x25cb680 in nv_event /home/travis/build/neovim/neovim/src/nvim/normal.c:7876:3
    neovim#24 0x249e003 in normal_execute /home/travis/build/neovim/neovim/src/nvim/normal.c:1144:12
    neovim#25 0x3822fb3 in state_enter /home/travis/build/neovim/neovim/src/nvim/state.c:55:26
    neovim#26 0x23e3a34 in normal_enter /home/travis/build/neovim/neovim/src/nvim/normal.c:464:3
    neovim#27 0x1cfcd37 in main /home/travis/build/neovim/neovim/src/nvim/main.c:538:3
    neovim#28 0x2ba0dea5f76c in __libc_start_main /build/eglibc-rrybNj/eglibc-2.15/csu/libc-start.c:226

Indirect leak of 8000 byte(s) in 1 object(s) allocated from:
    #0 0x4f2252 in malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x4f2252)
    #1 0x20730b5 in try_malloc /home/travis/build/neovim/neovim/src/nvim/memory.c:59:15
    #2 0x2073b01 in xmalloc /home/travis/build/neovim/neovim/src/nvim/memory.c:93:15
    #3 0x3ab496c in terminal_open /home/travis/build/neovim/neovim/src/nvim/terminal.c:257:19
    #4 0xe59e77 in f_termopen /home/travis/build/neovim/neovim/src/nvim/eval.c:16380:20
    #5 0xb76afa in call_func /home/travis/build/neovim/neovim/src/nvim/eval.c:7256:21
    #6 0xbae096 in get_func_tv /home/travis/build/neovim/neovim/src/nvim/eval.c:7105:11
    neovim#7 0xb9e700 in ex_call /home/travis/build/neovim/neovim/src/nvim/eval.c:2761:9
    neovim#8 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#9 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#10 0x13dd51c in do_cmdline_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:274:10
    neovim#11 0x1527f8d in ex_terminal /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:9515:3
    neovim#12 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#13 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#14 0x138a55d in do_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2611:3
    neovim#15 0x1380347 in cmd_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2323:12
    neovim#16 0x1380853 in ex_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2301:3
    neovim#17 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#18 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#19 0x13dd51c in do_cmdline_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:274:10
    neovim#20 0x68414a in vim_command /home/travis/build/neovim/neovim/src/nvim/api/vim.c:43:3
    neovim#21 0x599ed9 in handle_vim_command /home/travis/build/neovim/neovim/build/src/nvim/auto/msgpack_dispatch.c:2128:3
    neovim#22 0x23488a5 in on_request_event /home/travis/build/neovim/neovim/src/nvim/msgpack_rpc/channel.c:481:19
    neovim#23 0x118ff42 in queue_process_events /home/travis/build/neovim/neovim/src/nvim/event/queue.c:142:7
    neovim#24 0x25cb680 in nv_event /home/travis/build/neovim/neovim/src/nvim/normal.c:7876:3
    neovim#25 0x249e003 in normal_execute /home/travis/build/neovim/neovim/src/nvim/normal.c:1144:12
    neovim#26 0x3822fb3 in state_enter /home/travis/build/neovim/neovim/src/nvim/state.c:55:26
    neovim#27 0x23e3a34 in normal_enter /home/travis/build/neovim/neovim/src/nvim/normal.c:464:3
    neovim#28 0x1cfcd37 in main /home/travis/build/neovim/neovim/src/nvim/main.c:538:3
    neovim#29 0x2ba0dea5f76c in __libc_start_main /build/eglibc-rrybNj/eglibc-2.15/csu/libc-start.c:226

Indirect leak of 4800 byte(s) in 1 object(s) allocated from:
    #0 0x4f2252 in malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x4f2252)
    #1 0x3e37648 in default_malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e37648)
    #2 0x3e36752 in vterm_allocator_malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e36752)
    #3 0x3e2c881 in realloc_buffer (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e2c881)
    #4 0x3e2c834 in vterm_screen_enable_altscreen (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e2c834)
    #5 0x3ab2709 in terminal_open /home/travis/build/neovim/neovim/src/nvim/terminal.c:228:3
    #6 0xe59e77 in f_termopen /home/travis/build/neovim/neovim/src/nvim/eval.c:16380:20
    neovim#7 0xb76afa in call_func /home/travis/build/neovim/neovim/src/nvim/eval.c:7256:21
    neovim#8 0xbae096 in get_func_tv /home/travis/build/neovim/neovim/src/nvim/eval.c:7105:11
    neovim#9 0xb9e700 in ex_call /home/travis/build/neovim/neovim/src/nvim/eval.c:2761:9
    neovim#10 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#11 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#12 0x13dd51c in do_cmdline_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:274:10
    neovim#13 0x1527f8d in ex_terminal /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:9515:3
    neovim#14 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#15 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#16 0x138a55d in do_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2611:3
    neovim#17 0x1380347 in cmd_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2323:12
    neovim#18 0x1380853 in ex_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2301:3
    neovim#19 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#20 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#21 0x13dd51c in do_cmdline_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:274:10
    neovim#22 0x68414a in vim_command /home/travis/build/neovim/neovim/src/nvim/api/vim.c:43:3
    neovim#23 0x599ed9 in handle_vim_command /home/travis/build/neovim/neovim/build/src/nvim/auto/msgpack_dispatch.c:2128:3
    neovim#24 0x23488a5 in on_request_event /home/travis/build/neovim/neovim/src/nvim/msgpack_rpc/channel.c:481:19
    neovim#25 0x118ff42 in queue_process_events /home/travis/build/neovim/neovim/src/nvim/event/queue.c:142:7
    neovim#26 0x25cb680 in nv_event /home/travis/build/neovim/neovim/src/nvim/normal.c:7876:3
    neovim#27 0x249e003 in normal_execute /home/travis/build/neovim/neovim/src/nvim/normal.c:1144:12
    neovim#28 0x3822fb3 in state_enter /home/travis/build/neovim/neovim/src/nvim/state.c:55:26
    neovim#29 0x23e3a34 in normal_enter /home/travis/build/neovim/neovim/src/nvim/normal.c:464:3

Indirect leak of 4800 byte(s) in 1 object(s) allocated from:
    #0 0x4f2252 in malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x4f2252)
    #1 0x3e37648 in default_malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e37648)
    #2 0x3e36752 in vterm_allocator_malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e36752)
    #3 0x3e2c881 in realloc_buffer (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e2c881)
    #4 0x3e2c76f in screen_new (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e2c76f)
    #5 0x3e2c677 in vterm_obtain_screen (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e2c677)
    #6 0x3ab229f in terminal_open /home/travis/build/neovim/neovim/src/nvim/terminal.c:227:13
    neovim#7 0xe59e77 in f_termopen /home/travis/build/neovim/neovim/src/nvim/eval.c:16380:20
    neovim#8 0xb76afa in call_func /home/travis/build/neovim/neovim/src/nvim/eval.c:7256:21
    neovim#9 0xbae096 in get_func_tv /home/travis/build/neovim/neovim/src/nvim/eval.c:7105:11
    neovim#10 0xb9e700 in ex_call /home/travis/build/neovim/neovim/src/nvim/eval.c:2761:9
    neovim#11 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#12 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#13 0x13dd51c in do_cmdline_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:274:10
    neovim#14 0x1527f8d in ex_terminal /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:9515:3
    neovim#15 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#16 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#17 0x138a55d in do_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2611:3
    neovim#18 0x1380347 in cmd_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2323:12
    neovim#19 0x1380853 in ex_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2301:3
    neovim#20 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#21 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#22 0x13dd51c in do_cmdline_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:274:10
    neovim#23 0x68414a in vim_command /home/travis/build/neovim/neovim/src/nvim/api/vim.c:43:3
    neovim#24 0x599ed9 in handle_vim_command /home/travis/build/neovim/neovim/build/src/nvim/auto/msgpack_dispatch.c:2128:3
    neovim#25 0x23488a5 in on_request_event /home/travis/build/neovim/neovim/src/nvim/msgpack_rpc/channel.c:481:19
    neovim#26 0x118ff42 in queue_process_events /home/travis/build/neovim/neovim/src/nvim/event/queue.c:142:7
    neovim#27 0x25cb680 in nv_event /home/travis/build/neovim/neovim/src/nvim/normal.c:7876:3
    neovim#28 0x249e003 in normal_execute /home/travis/build/neovim/neovim/src/nvim/normal.c:1144:12
    neovim#29 0x3822fb3 in state_enter /home/travis/build/neovim/neovim/src/nvim/state.c:55:26

Indirect leak of 2000 byte(s) in 1 object(s) allocated from:
    #0 0x4f2252 in malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x4f2252)
    #1 0x3e37648 in default_malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e37648)
    #2 0x3e36752 in vterm_allocator_malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e36752)
    #3 0x3e2c79e in screen_new (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e2c79e)
    #4 0x3e2c677 in vterm_obtain_screen (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e2c677)
    #5 0x3ab229f in terminal_open /home/travis/build/neovim/neovim/src/nvim/terminal.c:227:13
    #6 0xe59e77 in f_termopen /home/travis/build/neovim/neovim/src/nvim/eval.c:16380:20
    neovim#7 0xb76afa in call_func /home/travis/build/neovim/neovim/src/nvim/eval.c:7256:21
    neovim#8 0xbae096 in get_func_tv /home/travis/build/neovim/neovim/src/nvim/eval.c:7105:11
    neovim#9 0xb9e700 in ex_call /home/travis/build/neovim/neovim/src/nvim/eval.c:2761:9
    neovim#10 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#11 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#12 0x13dd51c in do_cmdline_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:274:10
    neovim#13 0x1527f8d in ex_terminal /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:9515:3
    neovim#14 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#15 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#16 0x138a55d in do_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2611:3
    neovim#17 0x1380347 in cmd_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2323:12
    neovim#18 0x1380853 in ex_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2301:3
    neovim#19 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#20 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#21 0x13dd51c in do_cmdline_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:274:10
    neovim#22 0x68414a in vim_command /home/travis/build/neovim/neovim/src/nvim/api/vim.c:43:3
    neovim#23 0x599ed9 in handle_vim_command /home/travis/build/neovim/neovim/build/src/nvim/auto/msgpack_dispatch.c:2128:3
    neovim#24 0x23488a5 in on_request_event /home/travis/build/neovim/neovim/src/nvim/msgpack_rpc/channel.c:481:19
    neovim#25 0x118ff42 in queue_process_events /home/travis/build/neovim/neovim/src/nvim/event/queue.c:142:7
    neovim#26 0x25cb680 in nv_event /home/travis/build/neovim/neovim/src/nvim/normal.c:7876:3
    neovim#27 0x249e003 in normal_execute /home/travis/build/neovim/neovim/src/nvim/normal.c:1144:12
    neovim#28 0x3822fb3 in state_enter /home/travis/build/neovim/neovim/src/nvim/state.c:55:26
    neovim#29 0x23e3a34 in normal_enter /home/travis/build/neovim/neovim/src/nvim/normal.c:464:3

Indirect leak of 1640 byte(s) in 1 object(s) allocated from:
    #0 0x4f23cb in calloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x4f23cb)
    #1 0x2074608 in xcalloc /home/travis/build/neovim/neovim/src/nvim/memory.c:119:15
    #2 0xea12a6 in common_job_init /home/travis/build/neovim/neovim/src/nvim/eval.c:21486:27
    #3 0xe55aae in f_termopen /home/travis/build/neovim/neovim/src/nvim/eval.c:16343:27
    #4 0xb76afa in call_func /home/travis/build/neovim/neovim/src/nvim/eval.c:7256:21
    #5 0xbae096 in get_func_tv /home/travis/build/neovim/neovim/src/nvim/eval.c:7105:11
    #6 0xb9e700 in ex_call /home/travis/build/neovim/neovim/src/nvim/eval.c:2761:9
    neovim#7 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#8 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#9 0x13dd51c in do_cmdline_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:274:10
    neovim#10 0x1527f8d in ex_terminal /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:9515:3
    neovim#11 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#12 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#13 0x138a55d in do_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2611:3
    neovim#14 0x1380347 in cmd_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2323:12
    neovim#15 0x1380853 in ex_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2301:3
    neovim#16 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#17 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#18 0x13dd51c in do_cmdline_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:274:10
    neovim#19 0x68414a in vim_command /home/travis/build/neovim/neovim/src/nvim/api/vim.c:43:3
    neovim#20 0x599ed9 in handle_vim_command /home/travis/build/neovim/neovim/build/src/nvim/auto/msgpack_dispatch.c:2128:3
    neovim#21 0x23488a5 in on_request_event /home/travis/build/neovim/neovim/src/nvim/msgpack_rpc/channel.c:481:19
    neovim#22 0x118ff42 in queue_process_events /home/travis/build/neovim/neovim/src/nvim/event/queue.c:142:7
    neovim#23 0x25cb680 in nv_event /home/travis/build/neovim/neovim/src/nvim/normal.c:7876:3
    neovim#24 0x249e003 in normal_execute /home/travis/build/neovim/neovim/src/nvim/normal.c:1144:12
    neovim#25 0x3822fb3 in state_enter /home/travis/build/neovim/neovim/src/nvim/state.c:55:26
    neovim#26 0x23e3a34 in normal_enter /home/travis/build/neovim/neovim/src/nvim/normal.c:464:3
    neovim#27 0x1cfcd37 in main /home/travis/build/neovim/neovim/src/nvim/main.c:538:3
    neovim#28 0x2ba0dea5f76c in __libc_start_main /build/eglibc-rrybNj/eglibc-2.15/csu/libc-start.c:226

Indirect leak of 384 byte(s) in 1 object(s) allocated from:
    #0 0x4f2252 in malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x4f2252)
    #1 0x3e37648 in default_malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e37648)
    #2 0x3e36752 in vterm_allocator_malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e36752)
    #3 0x3e2f18b in vterm_state_new (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e2f18b)
    #4 0x3e2f047 in vterm_obtain_state (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e2f047)
    #5 0x3ab2031 in terminal_open /home/travis/build/neovim/neovim/src/nvim/terminal.c:225:23
    #6 0xe59e77 in f_termopen /home/travis/build/neovim/neovim/src/nvim/eval.c:16380:20
    neovim#7 0xb76afa in call_func /home/travis/build/neovim/neovim/src/nvim/eval.c:7256:21
    neovim#8 0xbae096 in get_func_tv /home/travis/build/neovim/neovim/src/nvim/eval.c:7105:11
    neovim#9 0xb9e700 in ex_call /home/travis/build/neovim/neovim/src/nvim/eval.c:2761:9
    neovim#10 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#11 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#12 0x13dd51c in do_cmdline_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:274:10
    neovim#13 0x1527f8d in ex_terminal /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:9515:3
    neovim#14 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#15 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#16 0x138a55d in do_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2611:3
    neovim#17 0x1380347 in cmd_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2323:12
    neovim#18 0x1380853 in ex_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2301:3
    neovim#19 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#20 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#21 0x13dd51c in do_cmdline_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:274:10
    neovim#22 0x68414a in vim_command /home/travis/build/neovim/neovim/src/nvim/api/vim.c:43:3
    neovim#23 0x599ed9 in handle_vim_command /home/travis/build/neovim/neovim/build/src/nvim/auto/msgpack_dispatch.c:2128:3
    neovim#24 0x23488a5 in on_request_event /home/travis/build/neovim/neovim/src/nvim/msgpack_rpc/channel.c:481:19
    neovim#25 0x118ff42 in queue_process_events /home/travis/build/neovim/neovim/src/nvim/event/queue.c:142:7
    neovim#26 0x25cb680 in nv_event /home/travis/build/neovim/neovim/src/nvim/normal.c:7876:3
    neovim#27 0x249e003 in normal_execute /home/travis/build/neovim/neovim/src/nvim/normal.c:1144:12
    neovim#28 0x3822fb3 in state_enter /home/travis/build/neovim/neovim/src/nvim/state.c:55:26
    neovim#29 0x23e3a34 in normal_enter /home/travis/build/neovim/neovim/src/nvim/normal.c:464:3

Indirect leak of 128 byte(s) in 1 object(s) allocated from:
    #0 0x4f2252 in malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x4f2252)
    #1 0x3e37648 in default_malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e37648)
    #2 0x3e36752 in vterm_allocator_malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e36752)
    #3 0x3e2c6e3 in screen_new (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e2c6e3)
    #4 0x3e2c677 in vterm_obtain_screen (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e2c677)
    #5 0x3ab229f in terminal_open /home/travis/build/neovim/neovim/src/nvim/terminal.c:227:13
    #6 0xe59e77 in f_termopen /home/travis/build/neovim/neovim/src/nvim/eval.c:16380:20
    neovim#7 0xb76afa in call_func /home/travis/build/neovim/neovim/src/nvim/eval.c:7256:21
    neovim#8 0xbae096 in get_func_tv /home/travis/build/neovim/neovim/src/nvim/eval.c:7105:11
    neovim#9 0xb9e700 in ex_call /home/travis/build/neovim/neovim/src/nvim/eval.c:2761:9
    neovim#10 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#11 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#12 0x13dd51c in do_cmdline_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:274:10
    neovim#13 0x1527f8d in ex_terminal /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:9515:3
    neovim#14 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#15 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#16 0x138a55d in do_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2611:3
    neovim#17 0x1380347 in cmd_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2323:12
    neovim#18 0x1380853 in ex_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2301:3
    neovim#19 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#20 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#21 0x13dd51c in do_cmdline_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:274:10
    neovim#22 0x68414a in vim_command /home/travis/build/neovim/neovim/src/nvim/api/vim.c:43:3
    neovim#23 0x599ed9 in handle_vim_command /home/travis/build/neovim/neovim/build/src/nvim/auto/msgpack_dispatch.c:2128:3
    neovim#24 0x23488a5 in on_request_event /home/travis/build/neovim/neovim/src/nvim/msgpack_rpc/channel.c:481:19
    neovim#25 0x118ff42 in queue_process_events /home/travis/build/neovim/neovim/src/nvim/event/queue.c:142:7
    neovim#26 0x25cb680 in nv_event /home/travis/build/neovim/neovim/src/nvim/normal.c:7876:3
    neovim#27 0x249e003 in normal_execute /home/travis/build/neovim/neovim/src/nvim/normal.c:1144:12
    neovim#28 0x3822fb3 in state_enter /home/travis/build/neovim/neovim/src/nvim/state.c:55:26
    neovim#29 0x23e3a34 in normal_enter /home/travis/build/neovim/neovim/src/nvim/normal.c:464:3

Indirect leak of 112 byte(s) in 1 object(s) allocated from:
    #0 0x4f2252 in malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x4f2252)
    #1 0x3e37648 in default_malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e37648)
    #2 0x3e3665d in vterm_new_with_allocator (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e3665d)
    #3 0x3e36623 in vterm_new (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e36623)
    #4 0x3ab199a in terminal_open /home/travis/build/neovim/neovim/src/nvim/terminal.c:222:12
    #5 0xe59e77 in f_termopen /home/travis/build/neovim/neovim/src/nvim/eval.c:16380:20
    #6 0xb76afa in call_func /home/travis/build/neovim/neovim/src/nvim/eval.c:7256:21
    neovim#7 0xbae096 in get_func_tv /home/travis/build/neovim/neovim/src/nvim/eval.c:7105:11
    neovim#8 0xb9e700 in ex_call /home/travis/build/neovim/neovim/src/nvim/eval.c:2761:9
    neovim#9 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#10 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#11 0x13dd51c in do_cmdline_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:274:10
    neovim#12 0x1527f8d in ex_terminal /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:9515:3
    neovim#13 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#14 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#15 0x138a55d in do_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2611:3
    neovim#16 0x1380347 in cmd_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2323:12
    neovim#17 0x1380853 in ex_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2301:3
    neovim#18 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#19 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#20 0x13dd51c in do_cmdline_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:274:10
    neovim#21 0x68414a in vim_command /home/travis/build/neovim/neovim/src/nvim/api/vim.c:43:3
    neovim#22 0x599ed9 in handle_vim_command /home/travis/build/neovim/neovim/build/src/nvim/auto/msgpack_dispatch.c:2128:3
    neovim#23 0x23488a5 in on_request_event /home/travis/build/neovim/neovim/src/nvim/msgpack_rpc/channel.c:481:19
    neovim#24 0x118ff42 in queue_process_events /home/travis/build/neovim/neovim/src/nvim/event/queue.c:142:7
    neovim#25 0x25cb680 in nv_event /home/travis/build/neovim/neovim/src/nvim/normal.c:7876:3
    neovim#26 0x249e003 in normal_execute /home/travis/build/neovim/neovim/src/nvim/normal.c:1144:12
    neovim#27 0x3822fb3 in state_enter /home/travis/build/neovim/neovim/src/nvim/state.c:55:26
    neovim#28 0x23e3a34 in normal_enter /home/travis/build/neovim/neovim/src/nvim/normal.c:464:3
    neovim#29 0x1cfcd37 in main /home/travis/build/neovim/neovim/src/nvim/main.c:538:3

Indirect leak of 64 byte(s) in 1 object(s) allocated from:
    #0 0x4f2252 in malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x4f2252)
    #1 0x3e37648 in default_malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e37648)
    #2 0x3e36752 in vterm_allocator_malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e36752)
    #3 0x3e366dc in vterm_new_with_allocator (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e366dc)
    #4 0x3e36623 in vterm_new (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e36623)
    #5 0x3ab199a in terminal_open /home/travis/build/neovim/neovim/src/nvim/terminal.c:222:12
    #6 0xe59e77 in f_termopen /home/travis/build/neovim/neovim/src/nvim/eval.c:16380:20
    neovim#7 0xb76afa in call_func /home/travis/build/neovim/neovim/src/nvim/eval.c:7256:21
    neovim#8 0xbae096 in get_func_tv /home/travis/build/neovim/neovim/src/nvim/eval.c:7105:11
    neovim#9 0xb9e700 in ex_call /home/travis/build/neovim/neovim/src/nvim/eval.c:2761:9
    neovim#10 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#11 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#12 0x13dd51c in do_cmdline_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:274:10
    neovim#13 0x1527f8d in ex_terminal /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:9515:3
    neovim#14 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#15 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#16 0x138a55d in do_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2611:3
    neovim#17 0x1380347 in cmd_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2323:12
    neovim#18 0x1380853 in ex_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2301:3
    neovim#19 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#20 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#21 0x13dd51c in do_cmdline_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:274:10
    neovim#22 0x68414a in vim_command /home/travis/build/neovim/neovim/src/nvim/api/vim.c:43:3
    neovim#23 0x599ed9 in handle_vim_command /home/travis/build/neovim/neovim/build/src/nvim/auto/msgpack_dispatch.c:2128:3
    neovim#24 0x23488a5 in on_request_event /home/travis/build/neovim/neovim/src/nvim/msgpack_rpc/channel.c:481:19
    neovim#25 0x118ff42 in queue_process_events /home/travis/build/neovim/neovim/src/nvim/event/queue.c:142:7
    neovim#26 0x25cb680 in nv_event /home/travis/build/neovim/neovim/src/nvim/normal.c:7876:3
    neovim#27 0x249e003 in normal_execute /home/travis/build/neovim/neovim/src/nvim/normal.c:1144:12
    neovim#28 0x3822fb3 in state_enter /home/travis/build/neovim/neovim/src/nvim/state.c:55:26
    neovim#29 0x23e3a34 in normal_enter /home/travis/build/neovim/neovim/src/nvim/normal.c:464:3

Indirect leak of 64 byte(s) in 1 object(s) allocated from:
    #0 0x4f2252 in malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x4f2252)
    #1 0x3e37648 in default_malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e37648)
    #2 0x3e36752 in vterm_allocator_malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e36752)
    #3 0x3e3670d in vterm_new_with_allocator (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e3670d)
    #4 0x3e36623 in vterm_new (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e36623)
    #5 0x3ab199a in terminal_open /home/travis/build/neovim/neovim/src/nvim/terminal.c:222:12
    #6 0xe59e77 in f_termopen /home/travis/build/neovim/neovim/src/nvim/eval.c:16380:20
    neovim#7 0xb76afa in call_func /home/travis/build/neovim/neovim/src/nvim/eval.c:7256:21
    neovim#8 0xbae096 in get_func_tv /home/travis/build/neovim/neovim/src/nvim/eval.c:7105:11
    neovim#9 0xb9e700 in ex_call /home/travis/build/neovim/neovim/src/nvim/eval.c:2761:9
    neovim#10 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#11 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#12 0x13dd51c in do_cmdline_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:274:10
    neovim#13 0x1527f8d in ex_terminal /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:9515:3
    neovim#14 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#15 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#16 0x138a55d in do_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2611:3
    neovim#17 0x1380347 in cmd_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2323:12
    neovim#18 0x1380853 in ex_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2301:3
    neovim#19 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#20 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#21 0x13dd51c in do_cmdline_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:274:10
    neovim#22 0x68414a in vim_command /home/travis/build/neovim/neovim/src/nvim/api/vim.c:43:3
    neovim#23 0x599ed9 in handle_vim_command /home/travis/build/neovim/neovim/build/src/nvim/auto/msgpack_dispatch.c:2128:3
    neovim#24 0x23488a5 in on_request_event /home/travis/build/neovim/neovim/src/nvim/msgpack_rpc/channel.c:481:19
    neovim#25 0x118ff42 in queue_process_events /home/travis/build/neovim/neovim/src/nvim/event/queue.c:142:7
    neovim#26 0x25cb680 in nv_event /home/travis/build/neovim/neovim/src/nvim/normal.c:7876:3
    neovim#27 0x249e003 in normal_execute /home/travis/build/neovim/neovim/src/nvim/normal.c:1144:12
    neovim#28 0x3822fb3 in state_enter /home/travis/build/neovim/neovim/src/nvim/state.c:55:26
    neovim#29 0x23e3a34 in normal_enter /home/travis/build/neovim/neovim/src/nvim/normal.c:464:3

Indirect leak of 64 byte(s) in 1 object(s) allocated from:
    #0 0x4f2252 in malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x4f2252)
    #1 0x3e37648 in default_malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e37648)
    #2 0x3e36752 in vterm_allocator_malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e36752)
    #3 0x3e2f084 in vterm_obtain_state (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e2f084)
    #4 0x3ab2031 in terminal_open /home/travis/build/neovim/neovim/src/nvim/terminal.c:225:23
    #5 0xe59e77 in f_termopen /home/travis/build/neovim/neovim/src/nvim/eval.c:16380:20
    #6 0xb76afa in call_func /home/travis/build/neovim/neovim/src/nvim/eval.c:7256:21
    neovim#7 0xbae096 in get_func_tv /home/travis/build/neovim/neovim/src/nvim/eval.c:7105:11
    neovim#8 0xb9e700 in ex_call /home/travis/build/neovim/neovim/src/nvim/eval.c:2761:9
    neovim#9 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#10 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#11 0x13dd51c in do_cmdline_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:274:10
    neovim#12 0x1527f8d in ex_terminal /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:9515:3
    neovim#13 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#14 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#15 0x138a55d in do_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2611:3
    neovim#16 0x1380347 in cmd_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2323:12
    neovim#17 0x1380853 in ex_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2301:3
    neovim#18 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#19 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#20 0x13dd51c in do_cmdline_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:274:10
    neovim#21 0x68414a in vim_command /home/travis/build/neovim/neovim/src/nvim/api/vim.c:43:3
    neovim#22 0x599ed9 in handle_vim_command /home/travis/build/neovim/neovim/build/src/nvim/auto/msgpack_dispatch.c:2128:3
    neovim#23 0x23488a5 in on_request_event /home/travis/build/neovim/neovim/src/nvim/msgpack_rpc/channel.c:481:19
    neovim#24 0x118ff42 in queue_process_events /home/travis/build/neovim/neovim/src/nvim/event/queue.c:142:7
    neovim#25 0x25cb680 in nv_event /home/travis/build/neovim/neovim/src/nvim/normal.c:7876:3
    neovim#26 0x249e003 in normal_execute /home/travis/build/neovim/neovim/src/nvim/normal.c:1144:12
    neovim#27 0x3822fb3 in state_enter /home/travis/build/neovim/neovim/src/nvim/state.c:55:26
    neovim#28 0x23e3a34 in normal_enter /home/travis/build/neovim/neovim/src/nvim/normal.c:464:3
    neovim#29 0x1cfcd37 in main /home/travis/build/neovim/neovim/src/nvim/main.c:538:3

Indirect leak of 40 byte(s) in 1 object(s) allocated from:
    #0 0x4f2252 in malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x4f2252)
    #1 0x20730b5 in try_malloc /home/travis/build/neovim/neovim/src/nvim/memory.c:59:15
    #2 0x2073b01 in xmalloc /home/travis/build/neovim/neovim/src/nvim/memory.c:93:15
    #3 0x117eb39 in queue_new /home/travis/build/neovim/neovim/src/nvim/event/queue.c:97:15
    #4 0x117fe77 in queue_new_child /home/travis/build/neovim/neovim/src/nvim/event/queue.c:92:10
    #5 0xea2077 in common_job_init /home/travis/build/neovim/neovim/src/nvim/eval.c:21492:18
    #6 0xe55aae in f_termopen /home/travis/build/neovim/neovim/src/nvim/eval.c:16343:27
    neovim#7 0xb76afa in call_func /home/travis/build/neovim/neovim/src/nvim/eval.c:7256:21
    neovim#8 0xbae096 in get_func_tv /home/travis/build/neovim/neovim/src/nvim/eval.c:7105:11
    neovim#9 0xb9e700 in ex_call /home/travis/build/neovim/neovim/src/nvim/eval.c:2761:9
    neovim#10 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#11 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#12 0x13dd51c in do_cmdline_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:274:10
    neovim#13 0x1527f8d in ex_terminal /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:9515:3
    neovim#14 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#15 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#16 0x138a55d in do_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2611:3
    neovim#17 0x1380347 in cmd_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2323:12
    neovim#18 0x1380853 in ex_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2301:3
    neovim#19 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#20 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#21 0x13dd51c in do_cmdline_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:274:10
    neovim#22 0x68414a in vim_command /home/travis/build/neovim/neovim/src/nvim/api/vim.c:43:3
    neovim#23 0x599ed9 in handle_vim_command /home/travis/build/neovim/neovim/build/src/nvim/auto/msgpack_dispatch.c:2128:3
    neovim#24 0x23488a5 in on_request_event /home/travis/build/neovim/neovim/src/nvim/msgpack_rpc/channel.c:481:19
    neovim#25 0x118ff42 in queue_process_events /home/travis/build/neovim/neovim/src/nvim/event/queue.c:142:7
    neovim#26 0x25cb680 in nv_event /home/travis/build/neovim/neovim/src/nvim/normal.c:7876:3
    neovim#27 0x249e003 in normal_execute /home/travis/build/neovim/neovim/src/nvim/normal.c:1144:12
    neovim#28 0x3822fb3 in state_enter /home/travis/build/neovim/neovim/src/nvim/state.c:55:26
    neovim#29 0x23e3a34 in normal_enter /home/travis/build/neovim/neovim/src/nvim/normal.c:464:3

Indirect leak of 12 byte(s) in 1 object(s) allocated from:
    #0 0x4f2252 in malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x4f2252)
    #1 0x3e37648 in default_malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e37648)
    #2 0x3e36752 in vterm_allocator_malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e36752)
    #3 0x3e2f0d5 in vterm_obtain_state (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e2f0d5)
    #4 0x3ab2031 in terminal_open /home/travis/build/neovim/neovim/src/nvim/terminal.c:225:23
    #5 0xe59e77 in f_termopen /home/travis/build/neovim/neovim/src/nvim/eval.c:16380:20
    #6 0xb76afa in call_func /home/travis/build/neovim/neovim/src/nvim/eval.c:7256:21
    neovim#7 0xbae096 in get_func_tv /home/travis/build/neovim/neovim/src/nvim/eval.c:7105:11
    neovim#8 0xb9e700 in ex_call /home/travis/build/neovim/neovim/src/nvim/eval.c:2761:9
    neovim#9 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#10 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#11 0x13dd51c in do_cmdline_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:274:10
    neovim#12 0x1527f8d in ex_terminal /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:9515:3
    neovim#13 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#14 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#15 0x138a55d in do_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2611:3
    neovim#16 0x1380347 in cmd_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2323:12
    neovim#17 0x1380853 in ex_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2301:3
    neovim#18 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#19 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#20 0x13dd51c in do_cmdline_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:274:10
    neovim#21 0x68414a in vim_command /home/travis/build/neovim/neovim/src/nvim/api/vim.c:43:3
    neovim#22 0x599ed9 in handle_vim_command /home/travis/build/neovim/neovim/build/src/nvim/auto/msgpack_dispatch.c:2128:3
    neovim#23 0x23488a5 in on_request_event /home/travis/build/neovim/neovim/src/nvim/msgpack_rpc/channel.c:481:19
    neovim#24 0x118ff42 in queue_process_events /home/travis/build/neovim/neovim/src/nvim/event/queue.c:142:7
    neovim#25 0x25cb680 in nv_event /home/travis/build/neovim/neovim/src/nvim/normal.c:7876:3
    neovim#26 0x249e003 in normal_execute /home/travis/build/neovim/neovim/src/nvim/normal.c:1144:12
    neovim#27 0x3822fb3 in state_enter /home/travis/build/neovim/neovim/src/nvim/state.c:55:26
    neovim#28 0x23e3a34 in normal_enter /home/travis/build/neovim/neovim/src/nvim/normal.c:464:3
    neovim#29 0x1cfcd37 in main /home/travis/build/neovim/neovim/src/nvim/main.c:538:3

Indirect leak of 7 byte(s) in 1 object(s) allocated from:
    #0 0x4f2252 in malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x4f2252)
    #1 0x3e37648 in default_malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e37648)
    #2 0x3e36752 in vterm_allocator_malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e36752)
    #3 0x3e2f0b2 in vterm_obtain_state (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e2f0b2)
    #4 0x3ab2031 in terminal_open /home/travis/build/neovim/neovim/src/nvim/terminal.c:225:23
    #5 0xe59e77 in f_termopen /home/travis/build/neovim/neovim/src/nvim/eval.c:16380:20
    #6 0xb76afa in call_func /home/travis/build/neovim/neovim/src/nvim/eval.c:7256:21
    neovim#7 0xbae096 in get_func_tv /home/travis/build/neovim/neovim/src/nvim/eval.c:7105:11
    neovim#8 0xb9e700 in ex_call /home/travis/build/neovim/neovim/src/nvim/eval.c:2761:9
    neovim#9 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#10 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#11 0x13dd51c in do_cmdline_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:274:10
    neovim#12 0x1527f8d in ex_terminal /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:9515:3
    neovim#13 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#14 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#15 0x138a55d in do_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2611:3
    neovim#16 0x1380347 in cmd_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2323:12
    neovim#17 0x1380853 in ex_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2301:3
    neovim#18 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#19 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#20 0x13dd51c in do_cmdline_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:274:10
    neovim#21 0x68414a in vim_command /home/travis/build/neovim/neovim/src/nvim/api/vim.c:43:3
    neovim#22 0x599ed9 in handle_vim_command /home/travis/build/neovim/neovim/build/src/nvim/auto/msgpack_dispatch.c:2128:3
    neovim#23 0x23488a5 in on_request_event /home/travis/build/neovim/neovim/src/nvim/msgpack_rpc/channel.c:481:19
    neovim#24 0x118ff42 in queue_process_events /home/travis/build/neovim/neovim/src/nvim/event/queue.c:142:7
    neovim#25 0x25cb680 in nv_event /home/travis/build/neovim/neovim/src/nvim/normal.c:7876:3
    neovim#26 0x249e003 in normal_execute /home/travis/build/neovim/neovim/src/nvim/normal.c:1144:12
    neovim#27 0x3822fb3 in state_enter /home/travis/build/neovim/neovim/src/nvim/state.c:55:26
    neovim#28 0x23e3a34 in normal_enter /home/travis/build/neovim/neovim/src/nvim/normal.c:464:3
    neovim#29 0x1cfcd37 in main /home/travis/build/neovim/neovim/src/nvim/main.c:538:3

SUMMARY: AddressSanitizer: 30443 byte(s) leaked in 15 allocation(s).
justinmk added a commit to justinmk/neovim that referenced this pull request May 15, 2016
References neovim#3958

Test provokes ASAN failure:

=================================================================
==12124==ERROR: AddressSanitizer: heap-use-after-free on address 0x625000070928 at pc 0x000003abe56f bp 0x7fff3d320b10 sp 0x7fff3d320b08
READ of size 8 at 0x625000070928 thread T0
    #0 0x3abe56e in terminal_receive /home/travis/build/neovim/neovim/src/nvim/terminal.c:541:21
    #1 0xeaf1c3 in on_job_output /home/travis/build/neovim/neovim/src/nvim/eval.c:21664:5
    #2 0xeadbe4 in on_job_stdout /home/travis/build/neovim/neovim/src/nvim/eval.c:21639:3
    #3 0x119d6d2 in read_event /home/travis/build/neovim/neovim/src/nvim/event/rstream.c:178:5
    #4 0x118ff42 in queue_process_events /home/travis/build/neovim/neovim/src/nvim/event/queue.c:142:7
    #5 0x25cb680 in nv_event /home/travis/build/neovim/neovim/src/nvim/normal.c:7876:3
    #6 0x249e003 in normal_execute /home/travis/build/neovim/neovim/src/nvim/normal.c:1144:12
    neovim#7 0x3822fb3 in state_enter /home/travis/build/neovim/neovim/src/nvim/state.c:55:26
    neovim#8 0x23e3a34 in normal_enter /home/travis/build/neovim/neovim/src/nvim/normal.c:464:3
    neovim#9 0x1cfcd37 in main /home/travis/build/neovim/neovim/src/nvim/main.c:538:3
    neovim#10 0x2b30c093876c in __libc_start_main /build/eglibc-rrybNj/eglibc-2.15/csu/libc-start.c:226
    neovim#11 0x46b268 in _start (/home/travis/build/neovim/neovim/build/bin/nvim+0x46b268)

0x625000070928 is located 40 bytes inside of 8328-byte region [0x625000070900,0x625000072988)
freed by thread T0 here:
    #0 0x4f1f72 in __interceptor_free (/home/travis/build/neovim/neovim/build/bin/nvim+0x4f1f72)
    #1 0x2073ea5 in xfree /home/travis/build/neovim/neovim/src/nvim/memory.c:105:3
    #2 0x3ad386d in terminal_destroy /home/travis/build/neovim/neovim/src/nvim/terminal.c:507:5
    #3 0xea9b49 in term_close /home/travis/build/neovim/neovim/src/nvim/eval.c:21711:3
    #4 0x3abdd6b in terminal_close /home/travis/build/neovim/neovim/src/nvim/terminal.c:321:7
    #5 0x6d9355 in close_buffer /home/travis/build/neovim/neovim/src/nvim/buffer.c:393:5
    #6 0x717505 in empty_curbuf /home/travis/build/neovim/neovim/src/nvim/buffer.c:842:5
    neovim#7 0x6f9dc5 in do_buffer /home/travis/build/neovim/neovim/src/nvim/buffer.c:988:14
    neovim#8 0x70e054 in do_bufdel /home/travis/build/neovim/neovim/src/nvim/buffer.c:732:11
    neovim#9 0x14b99da in ex_bunload /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:4373:17
    neovim#10 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#11 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#12 0x2520d32 in nv_colon /home/travis/build/neovim/neovim/src/nvim/normal.c:4488:18
    neovim#13 0x249e003 in normal_execute /home/travis/build/neovim/neovim/src/nvim/normal.c:1144:12
    neovim#14 0x3822fb3 in state_enter /home/travis/build/neovim/neovim/src/nvim/state.c:55:26
    neovim#15 0x23e3a34 in normal_enter /home/travis/build/neovim/neovim/src/nvim/normal.c:464:3
    neovim#16 0x1cfcd37 in main /home/travis/build/neovim/neovim/src/nvim/main.c:538:3
    neovim#17 0x2b30c093876c in __libc_start_main /build/eglibc-rrybNj/eglibc-2.15/csu/libc-start.c:226

previously allocated by thread T0 here:
    #0 0x4f23cb in calloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x4f23cb)
    #1 0x2074608 in xcalloc /home/travis/build/neovim/neovim/src/nvim/memory.c:119:15
    #2 0x3ab0bb8 in terminal_open /home/travis/build/neovim/neovim/src/nvim/terminal.c:215:18
    #3 0xe59e77 in f_termopen /home/travis/build/neovim/neovim/src/nvim/eval.c:16380:20
    #4 0xb76afa in call_func /home/travis/build/neovim/neovim/src/nvim/eval.c:7256:21
    #5 0xbae096 in get_func_tv /home/travis/build/neovim/neovim/src/nvim/eval.c:7105:11
    #6 0xb9e700 in ex_call /home/travis/build/neovim/neovim/src/nvim/eval.c:2761:9
    neovim#7 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#8 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#9 0x2520d32 in nv_colon /home/travis/build/neovim/neovim/src/nvim/normal.c:4488:18
    neovim#10 0x249e003 in normal_execute /home/travis/build/neovim/neovim/src/nvim/normal.c:1144:12
    neovim#11 0x3822fb3 in state_enter /home/travis/build/neovim/neovim/src/nvim/state.c:55:26
    neovim#12 0x23e3a34 in normal_enter /home/travis/build/neovim/neovim/src/nvim/normal.c:464:3
    neovim#13 0x1cfcd37 in main /home/travis/build/neovim/neovim/src/nvim/main.c:538:3
    neovim#14 0x2b30c093876c in __libc_start_main /build/eglibc-rrybNj/eglibc-2.15/csu/libc-start.c:226

SUMMARY: AddressSanitizer: heap-use-after-free /home/travis/build/neovim/neovim/src/nvim/terminal.c:541 terminal_receive
Shadow bytes around the buggy address:
  0x0c4a800060d0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0c4a800060e0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0c4a800060f0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0c4a80006100: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0c4a80006110: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
=>0x0c4a80006120: fd fd fd fd fd[fd]fd fd fd fd fd fd fd fd fd fd
  0x0c4a80006130: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
  0x0c4a80006140: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
  0x0c4a80006150: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
  0x0c4a80006160: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
  0x0c4a80006170: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
Shadow byte legend (one shadow byte represents 8 application bytes):
  Addressable:           00
  Partially addressable: 01 02 03 04 05 06 07
  Heap left redzone:       fa
  Heap right redzone:      fb
  Freed heap region:       fd
  Stack left redzone:      f1
  Stack mid redzone:       f2
  Stack right redzone:     f3
  Stack partial redzone:   f4
  Stack after return:      f5
  Stack use after scope:   f8
  Global redzone:          f9
  Global init order:       f6
  Poisoned by user:        f7
  Container overflow:      fc
  Array cookie:            ac
  Intra object redzone:    bb
  ASan internal:           fe
  Left alloca redzone:     ca
  Right alloca redzone:    cb
==12124==ABORTING

=================================================================
==12138==ERROR: LeakSanitizer: detected memory leaks

Indirect leak of 8328 byte(s) in 1 object(s) allocated from:
    #0 0x4f23cb in calloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x4f23cb)
    #1 0x2074608 in xcalloc /home/travis/build/neovim/neovim/src/nvim/memory.c:119:15
    #2 0x3ab0bb8 in terminal_open /home/travis/build/neovim/neovim/src/nvim/terminal.c:215:18
    #3 0xe59e77 in f_termopen /home/travis/build/neovim/neovim/src/nvim/eval.c:16380:20
    #4 0xb76afa in call_func /home/travis/build/neovim/neovim/src/nvim/eval.c:7256:21
    #5 0xbae096 in get_func_tv /home/travis/build/neovim/neovim/src/nvim/eval.c:7105:11
    #6 0xb9e700 in ex_call /home/travis/build/neovim/neovim/src/nvim/eval.c:2761:9
    neovim#7 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#8 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#9 0x13dd51c in do_cmdline_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:274:10
    neovim#10 0x1527f8d in ex_terminal /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:9515:3
    neovim#11 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#12 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#13 0x138a55d in do_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2611:3
    neovim#14 0x1380347 in cmd_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2323:12
    neovim#15 0x1380853 in ex_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2301:3
    neovim#16 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#17 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#18 0x13dd51c in do_cmdline_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:274:10
    neovim#19 0x68414a in vim_command /home/travis/build/neovim/neovim/src/nvim/api/vim.c:43:3
    neovim#20 0x599ed9 in handle_vim_command /home/travis/build/neovim/neovim/build/src/nvim/auto/msgpack_dispatch.c:2128:3
    neovim#21 0x23488a5 in on_request_event /home/travis/build/neovim/neovim/src/nvim/msgpack_rpc/channel.c:481:19
    neovim#22 0x118ff42 in queue_process_events /home/travis/build/neovim/neovim/src/nvim/event/queue.c:142:7
    neovim#23 0x25cb680 in nv_event /home/travis/build/neovim/neovim/src/nvim/normal.c:7876:3
    neovim#24 0x249e003 in normal_execute /home/travis/build/neovim/neovim/src/nvim/normal.c:1144:12
    neovim#25 0x3822fb3 in state_enter /home/travis/build/neovim/neovim/src/nvim/state.c:55:26
    neovim#26 0x23e3a34 in normal_enter /home/travis/build/neovim/neovim/src/nvim/normal.c:464:3
    neovim#27 0x1cfcd37 in main /home/travis/build/neovim/neovim/src/nvim/main.c:538:3
    neovim#28 0x2ba0dea5f76c in __libc_start_main /build/eglibc-rrybNj/eglibc-2.15/csu/libc-start.c:226

Indirect leak of 8000 byte(s) in 1 object(s) allocated from:
    #0 0x4f2252 in malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x4f2252)
    #1 0x20730b5 in try_malloc /home/travis/build/neovim/neovim/src/nvim/memory.c:59:15
    #2 0x2073b01 in xmalloc /home/travis/build/neovim/neovim/src/nvim/memory.c:93:15
    #3 0x3ab496c in terminal_open /home/travis/build/neovim/neovim/src/nvim/terminal.c:257:19
    #4 0xe59e77 in f_termopen /home/travis/build/neovim/neovim/src/nvim/eval.c:16380:20
    #5 0xb76afa in call_func /home/travis/build/neovim/neovim/src/nvim/eval.c:7256:21
    #6 0xbae096 in get_func_tv /home/travis/build/neovim/neovim/src/nvim/eval.c:7105:11
    neovim#7 0xb9e700 in ex_call /home/travis/build/neovim/neovim/src/nvim/eval.c:2761:9
    neovim#8 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#9 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#10 0x13dd51c in do_cmdline_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:274:10
    neovim#11 0x1527f8d in ex_terminal /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:9515:3
    neovim#12 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#13 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#14 0x138a55d in do_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2611:3
    neovim#15 0x1380347 in cmd_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2323:12
    neovim#16 0x1380853 in ex_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2301:3
    neovim#17 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#18 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#19 0x13dd51c in do_cmdline_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:274:10
    neovim#20 0x68414a in vim_command /home/travis/build/neovim/neovim/src/nvim/api/vim.c:43:3
    neovim#21 0x599ed9 in handle_vim_command /home/travis/build/neovim/neovim/build/src/nvim/auto/msgpack_dispatch.c:2128:3
    neovim#22 0x23488a5 in on_request_event /home/travis/build/neovim/neovim/src/nvim/msgpack_rpc/channel.c:481:19
    neovim#23 0x118ff42 in queue_process_events /home/travis/build/neovim/neovim/src/nvim/event/queue.c:142:7
    neovim#24 0x25cb680 in nv_event /home/travis/build/neovim/neovim/src/nvim/normal.c:7876:3
    neovim#25 0x249e003 in normal_execute /home/travis/build/neovim/neovim/src/nvim/normal.c:1144:12
    neovim#26 0x3822fb3 in state_enter /home/travis/build/neovim/neovim/src/nvim/state.c:55:26
    neovim#27 0x23e3a34 in normal_enter /home/travis/build/neovim/neovim/src/nvim/normal.c:464:3
    neovim#28 0x1cfcd37 in main /home/travis/build/neovim/neovim/src/nvim/main.c:538:3
    neovim#29 0x2ba0dea5f76c in __libc_start_main /build/eglibc-rrybNj/eglibc-2.15/csu/libc-start.c:226

Indirect leak of 4800 byte(s) in 1 object(s) allocated from:
    #0 0x4f2252 in malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x4f2252)
    #1 0x3e37648 in default_malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e37648)
    #2 0x3e36752 in vterm_allocator_malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e36752)
    #3 0x3e2c881 in realloc_buffer (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e2c881)
    #4 0x3e2c834 in vterm_screen_enable_altscreen (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e2c834)
    #5 0x3ab2709 in terminal_open /home/travis/build/neovim/neovim/src/nvim/terminal.c:228:3
    #6 0xe59e77 in f_termopen /home/travis/build/neovim/neovim/src/nvim/eval.c:16380:20
    neovim#7 0xb76afa in call_func /home/travis/build/neovim/neovim/src/nvim/eval.c:7256:21
    neovim#8 0xbae096 in get_func_tv /home/travis/build/neovim/neovim/src/nvim/eval.c:7105:11
    neovim#9 0xb9e700 in ex_call /home/travis/build/neovim/neovim/src/nvim/eval.c:2761:9
    neovim#10 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#11 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#12 0x13dd51c in do_cmdline_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:274:10
    neovim#13 0x1527f8d in ex_terminal /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:9515:3
    neovim#14 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#15 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#16 0x138a55d in do_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2611:3
    neovim#17 0x1380347 in cmd_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2323:12
    neovim#18 0x1380853 in ex_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2301:3
    neovim#19 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#20 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#21 0x13dd51c in do_cmdline_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:274:10
    neovim#22 0x68414a in vim_command /home/travis/build/neovim/neovim/src/nvim/api/vim.c:43:3
    neovim#23 0x599ed9 in handle_vim_command /home/travis/build/neovim/neovim/build/src/nvim/auto/msgpack_dispatch.c:2128:3
    neovim#24 0x23488a5 in on_request_event /home/travis/build/neovim/neovim/src/nvim/msgpack_rpc/channel.c:481:19
    neovim#25 0x118ff42 in queue_process_events /home/travis/build/neovim/neovim/src/nvim/event/queue.c:142:7
    neovim#26 0x25cb680 in nv_event /home/travis/build/neovim/neovim/src/nvim/normal.c:7876:3
    neovim#27 0x249e003 in normal_execute /home/travis/build/neovim/neovim/src/nvim/normal.c:1144:12
    neovim#28 0x3822fb3 in state_enter /home/travis/build/neovim/neovim/src/nvim/state.c:55:26
    neovim#29 0x23e3a34 in normal_enter /home/travis/build/neovim/neovim/src/nvim/normal.c:464:3

Indirect leak of 4800 byte(s) in 1 object(s) allocated from:
    #0 0x4f2252 in malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x4f2252)
    #1 0x3e37648 in default_malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e37648)
    #2 0x3e36752 in vterm_allocator_malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e36752)
    #3 0x3e2c881 in realloc_buffer (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e2c881)
    #4 0x3e2c76f in screen_new (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e2c76f)
    #5 0x3e2c677 in vterm_obtain_screen (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e2c677)
    #6 0x3ab229f in terminal_open /home/travis/build/neovim/neovim/src/nvim/terminal.c:227:13
    neovim#7 0xe59e77 in f_termopen /home/travis/build/neovim/neovim/src/nvim/eval.c:16380:20
    neovim#8 0xb76afa in call_func /home/travis/build/neovim/neovim/src/nvim/eval.c:7256:21
    neovim#9 0xbae096 in get_func_tv /home/travis/build/neovim/neovim/src/nvim/eval.c:7105:11
    neovim#10 0xb9e700 in ex_call /home/travis/build/neovim/neovim/src/nvim/eval.c:2761:9
    neovim#11 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#12 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#13 0x13dd51c in do_cmdline_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:274:10
    neovim#14 0x1527f8d in ex_terminal /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:9515:3
    neovim#15 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#16 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#17 0x138a55d in do_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2611:3
    neovim#18 0x1380347 in cmd_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2323:12
    neovim#19 0x1380853 in ex_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2301:3
    neovim#20 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#21 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#22 0x13dd51c in do_cmdline_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:274:10
    neovim#23 0x68414a in vim_command /home/travis/build/neovim/neovim/src/nvim/api/vim.c:43:3
    neovim#24 0x599ed9 in handle_vim_command /home/travis/build/neovim/neovim/build/src/nvim/auto/msgpack_dispatch.c:2128:3
    neovim#25 0x23488a5 in on_request_event /home/travis/build/neovim/neovim/src/nvim/msgpack_rpc/channel.c:481:19
    neovim#26 0x118ff42 in queue_process_events /home/travis/build/neovim/neovim/src/nvim/event/queue.c:142:7
    neovim#27 0x25cb680 in nv_event /home/travis/build/neovim/neovim/src/nvim/normal.c:7876:3
    neovim#28 0x249e003 in normal_execute /home/travis/build/neovim/neovim/src/nvim/normal.c:1144:12
    neovim#29 0x3822fb3 in state_enter /home/travis/build/neovim/neovim/src/nvim/state.c:55:26

Indirect leak of 2000 byte(s) in 1 object(s) allocated from:
    #0 0x4f2252 in malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x4f2252)
    #1 0x3e37648 in default_malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e37648)
    #2 0x3e36752 in vterm_allocator_malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e36752)
    #3 0x3e2c79e in screen_new (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e2c79e)
    #4 0x3e2c677 in vterm_obtain_screen (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e2c677)
    #5 0x3ab229f in terminal_open /home/travis/build/neovim/neovim/src/nvim/terminal.c:227:13
    #6 0xe59e77 in f_termopen /home/travis/build/neovim/neovim/src/nvim/eval.c:16380:20
    neovim#7 0xb76afa in call_func /home/travis/build/neovim/neovim/src/nvim/eval.c:7256:21
    neovim#8 0xbae096 in get_func_tv /home/travis/build/neovim/neovim/src/nvim/eval.c:7105:11
    neovim#9 0xb9e700 in ex_call /home/travis/build/neovim/neovim/src/nvim/eval.c:2761:9
    neovim#10 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#11 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#12 0x13dd51c in do_cmdline_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:274:10
    neovim#13 0x1527f8d in ex_terminal /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:9515:3
    neovim#14 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#15 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#16 0x138a55d in do_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2611:3
    neovim#17 0x1380347 in cmd_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2323:12
    neovim#18 0x1380853 in ex_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2301:3
    neovim#19 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#20 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#21 0x13dd51c in do_cmdline_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:274:10
    neovim#22 0x68414a in vim_command /home/travis/build/neovim/neovim/src/nvim/api/vim.c:43:3
    neovim#23 0x599ed9 in handle_vim_command /home/travis/build/neovim/neovim/build/src/nvim/auto/msgpack_dispatch.c:2128:3
    neovim#24 0x23488a5 in on_request_event /home/travis/build/neovim/neovim/src/nvim/msgpack_rpc/channel.c:481:19
    neovim#25 0x118ff42 in queue_process_events /home/travis/build/neovim/neovim/src/nvim/event/queue.c:142:7
    neovim#26 0x25cb680 in nv_event /home/travis/build/neovim/neovim/src/nvim/normal.c:7876:3
    neovim#27 0x249e003 in normal_execute /home/travis/build/neovim/neovim/src/nvim/normal.c:1144:12
    neovim#28 0x3822fb3 in state_enter /home/travis/build/neovim/neovim/src/nvim/state.c:55:26
    neovim#29 0x23e3a34 in normal_enter /home/travis/build/neovim/neovim/src/nvim/normal.c:464:3

Indirect leak of 1640 byte(s) in 1 object(s) allocated from:
    #0 0x4f23cb in calloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x4f23cb)
    #1 0x2074608 in xcalloc /home/travis/build/neovim/neovim/src/nvim/memory.c:119:15
    #2 0xea12a6 in common_job_init /home/travis/build/neovim/neovim/src/nvim/eval.c:21486:27
    #3 0xe55aae in f_termopen /home/travis/build/neovim/neovim/src/nvim/eval.c:16343:27
    #4 0xb76afa in call_func /home/travis/build/neovim/neovim/src/nvim/eval.c:7256:21
    #5 0xbae096 in get_func_tv /home/travis/build/neovim/neovim/src/nvim/eval.c:7105:11
    #6 0xb9e700 in ex_call /home/travis/build/neovim/neovim/src/nvim/eval.c:2761:9
    neovim#7 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#8 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#9 0x13dd51c in do_cmdline_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:274:10
    neovim#10 0x1527f8d in ex_terminal /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:9515:3
    neovim#11 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#12 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#13 0x138a55d in do_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2611:3
    neovim#14 0x1380347 in cmd_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2323:12
    neovim#15 0x1380853 in ex_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2301:3
    neovim#16 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#17 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#18 0x13dd51c in do_cmdline_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:274:10
    neovim#19 0x68414a in vim_command /home/travis/build/neovim/neovim/src/nvim/api/vim.c:43:3
    neovim#20 0x599ed9 in handle_vim_command /home/travis/build/neovim/neovim/build/src/nvim/auto/msgpack_dispatch.c:2128:3
    neovim#21 0x23488a5 in on_request_event /home/travis/build/neovim/neovim/src/nvim/msgpack_rpc/channel.c:481:19
    neovim#22 0x118ff42 in queue_process_events /home/travis/build/neovim/neovim/src/nvim/event/queue.c:142:7
    neovim#23 0x25cb680 in nv_event /home/travis/build/neovim/neovim/src/nvim/normal.c:7876:3
    neovim#24 0x249e003 in normal_execute /home/travis/build/neovim/neovim/src/nvim/normal.c:1144:12
    neovim#25 0x3822fb3 in state_enter /home/travis/build/neovim/neovim/src/nvim/state.c:55:26
    neovim#26 0x23e3a34 in normal_enter /home/travis/build/neovim/neovim/src/nvim/normal.c:464:3
    neovim#27 0x1cfcd37 in main /home/travis/build/neovim/neovim/src/nvim/main.c:538:3
    neovim#28 0x2ba0dea5f76c in __libc_start_main /build/eglibc-rrybNj/eglibc-2.15/csu/libc-start.c:226

Indirect leak of 384 byte(s) in 1 object(s) allocated from:
    #0 0x4f2252 in malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x4f2252)
    #1 0x3e37648 in default_malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e37648)
    #2 0x3e36752 in vterm_allocator_malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e36752)
    #3 0x3e2f18b in vterm_state_new (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e2f18b)
    #4 0x3e2f047 in vterm_obtain_state (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e2f047)
    #5 0x3ab2031 in terminal_open /home/travis/build/neovim/neovim/src/nvim/terminal.c:225:23
    #6 0xe59e77 in f_termopen /home/travis/build/neovim/neovim/src/nvim/eval.c:16380:20
    neovim#7 0xb76afa in call_func /home/travis/build/neovim/neovim/src/nvim/eval.c:7256:21
    neovim#8 0xbae096 in get_func_tv /home/travis/build/neovim/neovim/src/nvim/eval.c:7105:11
    neovim#9 0xb9e700 in ex_call /home/travis/build/neovim/neovim/src/nvim/eval.c:2761:9
    neovim#10 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#11 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#12 0x13dd51c in do_cmdline_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:274:10
    neovim#13 0x1527f8d in ex_terminal /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:9515:3
    neovim#14 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#15 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#16 0x138a55d in do_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2611:3
    neovim#17 0x1380347 in cmd_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2323:12
    neovim#18 0x1380853 in ex_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2301:3
    neovim#19 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#20 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#21 0x13dd51c in do_cmdline_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:274:10
    neovim#22 0x68414a in vim_command /home/travis/build/neovim/neovim/src/nvim/api/vim.c:43:3
    neovim#23 0x599ed9 in handle_vim_command /home/travis/build/neovim/neovim/build/src/nvim/auto/msgpack_dispatch.c:2128:3
    neovim#24 0x23488a5 in on_request_event /home/travis/build/neovim/neovim/src/nvim/msgpack_rpc/channel.c:481:19
    neovim#25 0x118ff42 in queue_process_events /home/travis/build/neovim/neovim/src/nvim/event/queue.c:142:7
    neovim#26 0x25cb680 in nv_event /home/travis/build/neovim/neovim/src/nvim/normal.c:7876:3
    neovim#27 0x249e003 in normal_execute /home/travis/build/neovim/neovim/src/nvim/normal.c:1144:12
    neovim#28 0x3822fb3 in state_enter /home/travis/build/neovim/neovim/src/nvim/state.c:55:26
    neovim#29 0x23e3a34 in normal_enter /home/travis/build/neovim/neovim/src/nvim/normal.c:464:3

Indirect leak of 128 byte(s) in 1 object(s) allocated from:
    #0 0x4f2252 in malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x4f2252)
    #1 0x3e37648 in default_malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e37648)
    #2 0x3e36752 in vterm_allocator_malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e36752)
    #3 0x3e2c6e3 in screen_new (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e2c6e3)
    #4 0x3e2c677 in vterm_obtain_screen (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e2c677)
    #5 0x3ab229f in terminal_open /home/travis/build/neovim/neovim/src/nvim/terminal.c:227:13
    #6 0xe59e77 in f_termopen /home/travis/build/neovim/neovim/src/nvim/eval.c:16380:20
    neovim#7 0xb76afa in call_func /home/travis/build/neovim/neovim/src/nvim/eval.c:7256:21
    neovim#8 0xbae096 in get_func_tv /home/travis/build/neovim/neovim/src/nvim/eval.c:7105:11
    neovim#9 0xb9e700 in ex_call /home/travis/build/neovim/neovim/src/nvim/eval.c:2761:9
    neovim#10 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#11 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#12 0x13dd51c in do_cmdline_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:274:10
    neovim#13 0x1527f8d in ex_terminal /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:9515:3
    neovim#14 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#15 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#16 0x138a55d in do_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2611:3
    neovim#17 0x1380347 in cmd_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2323:12
    neovim#18 0x1380853 in ex_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2301:3
    neovim#19 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#20 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#21 0x13dd51c in do_cmdline_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:274:10
    neovim#22 0x68414a in vim_command /home/travis/build/neovim/neovim/src/nvim/api/vim.c:43:3
    neovim#23 0x599ed9 in handle_vim_command /home/travis/build/neovim/neovim/build/src/nvim/auto/msgpack_dispatch.c:2128:3
    neovim#24 0x23488a5 in on_request_event /home/travis/build/neovim/neovim/src/nvim/msgpack_rpc/channel.c:481:19
    neovim#25 0x118ff42 in queue_process_events /home/travis/build/neovim/neovim/src/nvim/event/queue.c:142:7
    neovim#26 0x25cb680 in nv_event /home/travis/build/neovim/neovim/src/nvim/normal.c:7876:3
    neovim#27 0x249e003 in normal_execute /home/travis/build/neovim/neovim/src/nvim/normal.c:1144:12
    neovim#28 0x3822fb3 in state_enter /home/travis/build/neovim/neovim/src/nvim/state.c:55:26
    neovim#29 0x23e3a34 in normal_enter /home/travis/build/neovim/neovim/src/nvim/normal.c:464:3

Indirect leak of 112 byte(s) in 1 object(s) allocated from:
    #0 0x4f2252 in malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x4f2252)
    #1 0x3e37648 in default_malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e37648)
    #2 0x3e3665d in vterm_new_with_allocator (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e3665d)
    #3 0x3e36623 in vterm_new (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e36623)
    #4 0x3ab199a in terminal_open /home/travis/build/neovim/neovim/src/nvim/terminal.c:222:12
    #5 0xe59e77 in f_termopen /home/travis/build/neovim/neovim/src/nvim/eval.c:16380:20
    #6 0xb76afa in call_func /home/travis/build/neovim/neovim/src/nvim/eval.c:7256:21
    neovim#7 0xbae096 in get_func_tv /home/travis/build/neovim/neovim/src/nvim/eval.c:7105:11
    neovim#8 0xb9e700 in ex_call /home/travis/build/neovim/neovim/src/nvim/eval.c:2761:9
    neovim#9 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#10 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#11 0x13dd51c in do_cmdline_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:274:10
    neovim#12 0x1527f8d in ex_terminal /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:9515:3
    neovim#13 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#14 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#15 0x138a55d in do_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2611:3
    neovim#16 0x1380347 in cmd_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2323:12
    neovim#17 0x1380853 in ex_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2301:3
    neovim#18 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#19 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#20 0x13dd51c in do_cmdline_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:274:10
    neovim#21 0x68414a in vim_command /home/travis/build/neovim/neovim/src/nvim/api/vim.c:43:3
    neovim#22 0x599ed9 in handle_vim_command /home/travis/build/neovim/neovim/build/src/nvim/auto/msgpack_dispatch.c:2128:3
    neovim#23 0x23488a5 in on_request_event /home/travis/build/neovim/neovim/src/nvim/msgpack_rpc/channel.c:481:19
    neovim#24 0x118ff42 in queue_process_events /home/travis/build/neovim/neovim/src/nvim/event/queue.c:142:7
    neovim#25 0x25cb680 in nv_event /home/travis/build/neovim/neovim/src/nvim/normal.c:7876:3
    neovim#26 0x249e003 in normal_execute /home/travis/build/neovim/neovim/src/nvim/normal.c:1144:12
    neovim#27 0x3822fb3 in state_enter /home/travis/build/neovim/neovim/src/nvim/state.c:55:26
    neovim#28 0x23e3a34 in normal_enter /home/travis/build/neovim/neovim/src/nvim/normal.c:464:3
    neovim#29 0x1cfcd37 in main /home/travis/build/neovim/neovim/src/nvim/main.c:538:3

Indirect leak of 64 byte(s) in 1 object(s) allocated from:
    #0 0x4f2252 in malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x4f2252)
    #1 0x3e37648 in default_malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e37648)
    #2 0x3e36752 in vterm_allocator_malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e36752)
    #3 0x3e366dc in vterm_new_with_allocator (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e366dc)
    #4 0x3e36623 in vterm_new (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e36623)
    #5 0x3ab199a in terminal_open /home/travis/build/neovim/neovim/src/nvim/terminal.c:222:12
    #6 0xe59e77 in f_termopen /home/travis/build/neovim/neovim/src/nvim/eval.c:16380:20
    neovim#7 0xb76afa in call_func /home/travis/build/neovim/neovim/src/nvim/eval.c:7256:21
    neovim#8 0xbae096 in get_func_tv /home/travis/build/neovim/neovim/src/nvim/eval.c:7105:11
    neovim#9 0xb9e700 in ex_call /home/travis/build/neovim/neovim/src/nvim/eval.c:2761:9
    neovim#10 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#11 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#12 0x13dd51c in do_cmdline_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:274:10
    neovim#13 0x1527f8d in ex_terminal /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:9515:3
    neovim#14 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#15 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#16 0x138a55d in do_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2611:3
    neovim#17 0x1380347 in cmd_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2323:12
    neovim#18 0x1380853 in ex_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2301:3
    neovim#19 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#20 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#21 0x13dd51c in do_cmdline_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:274:10
    neovim#22 0x68414a in vim_command /home/travis/build/neovim/neovim/src/nvim/api/vim.c:43:3
    neovim#23 0x599ed9 in handle_vim_command /home/travis/build/neovim/neovim/build/src/nvim/auto/msgpack_dispatch.c:2128:3
    neovim#24 0x23488a5 in on_request_event /home/travis/build/neovim/neovim/src/nvim/msgpack_rpc/channel.c:481:19
    neovim#25 0x118ff42 in queue_process_events /home/travis/build/neovim/neovim/src/nvim/event/queue.c:142:7
    neovim#26 0x25cb680 in nv_event /home/travis/build/neovim/neovim/src/nvim/normal.c:7876:3
    neovim#27 0x249e003 in normal_execute /home/travis/build/neovim/neovim/src/nvim/normal.c:1144:12
    neovim#28 0x3822fb3 in state_enter /home/travis/build/neovim/neovim/src/nvim/state.c:55:26
    neovim#29 0x23e3a34 in normal_enter /home/travis/build/neovim/neovim/src/nvim/normal.c:464:3

Indirect leak of 64 byte(s) in 1 object(s) allocated from:
    #0 0x4f2252 in malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x4f2252)
    #1 0x3e37648 in default_malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e37648)
    #2 0x3e36752 in vterm_allocator_malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e36752)
    #3 0x3e3670d in vterm_new_with_allocator (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e3670d)
    #4 0x3e36623 in vterm_new (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e36623)
    #5 0x3ab199a in terminal_open /home/travis/build/neovim/neovim/src/nvim/terminal.c:222:12
    #6 0xe59e77 in f_termopen /home/travis/build/neovim/neovim/src/nvim/eval.c:16380:20
    neovim#7 0xb76afa in call_func /home/travis/build/neovim/neovim/src/nvim/eval.c:7256:21
    neovim#8 0xbae096 in get_func_tv /home/travis/build/neovim/neovim/src/nvim/eval.c:7105:11
    neovim#9 0xb9e700 in ex_call /home/travis/build/neovim/neovim/src/nvim/eval.c:2761:9
    neovim#10 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#11 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#12 0x13dd51c in do_cmdline_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:274:10
    neovim#13 0x1527f8d in ex_terminal /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:9515:3
    neovim#14 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#15 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#16 0x138a55d in do_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2611:3
    neovim#17 0x1380347 in cmd_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2323:12
    neovim#18 0x1380853 in ex_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2301:3
    neovim#19 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#20 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#21 0x13dd51c in do_cmdline_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:274:10
    neovim#22 0x68414a in vim_command /home/travis/build/neovim/neovim/src/nvim/api/vim.c:43:3
    neovim#23 0x599ed9 in handle_vim_command /home/travis/build/neovim/neovim/build/src/nvim/auto/msgpack_dispatch.c:2128:3
    neovim#24 0x23488a5 in on_request_event /home/travis/build/neovim/neovim/src/nvim/msgpack_rpc/channel.c:481:19
    neovim#25 0x118ff42 in queue_process_events /home/travis/build/neovim/neovim/src/nvim/event/queue.c:142:7
    neovim#26 0x25cb680 in nv_event /home/travis/build/neovim/neovim/src/nvim/normal.c:7876:3
    neovim#27 0x249e003 in normal_execute /home/travis/build/neovim/neovim/src/nvim/normal.c:1144:12
    neovim#28 0x3822fb3 in state_enter /home/travis/build/neovim/neovim/src/nvim/state.c:55:26
    neovim#29 0x23e3a34 in normal_enter /home/travis/build/neovim/neovim/src/nvim/normal.c:464:3

Indirect leak of 64 byte(s) in 1 object(s) allocated from:
    #0 0x4f2252 in malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x4f2252)
    #1 0x3e37648 in default_malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e37648)
    #2 0x3e36752 in vterm_allocator_malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e36752)
    #3 0x3e2f084 in vterm_obtain_state (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e2f084)
    #4 0x3ab2031 in terminal_open /home/travis/build/neovim/neovim/src/nvim/terminal.c:225:23
    #5 0xe59e77 in f_termopen /home/travis/build/neovim/neovim/src/nvim/eval.c:16380:20
    #6 0xb76afa in call_func /home/travis/build/neovim/neovim/src/nvim/eval.c:7256:21
    neovim#7 0xbae096 in get_func_tv /home/travis/build/neovim/neovim/src/nvim/eval.c:7105:11
    neovim#8 0xb9e700 in ex_call /home/travis/build/neovim/neovim/src/nvim/eval.c:2761:9
    neovim#9 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#10 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#11 0x13dd51c in do_cmdline_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:274:10
    neovim#12 0x1527f8d in ex_terminal /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:9515:3
    neovim#13 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#14 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#15 0x138a55d in do_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2611:3
    neovim#16 0x1380347 in cmd_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2323:12
    neovim#17 0x1380853 in ex_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2301:3
    neovim#18 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#19 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#20 0x13dd51c in do_cmdline_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:274:10
    neovim#21 0x68414a in vim_command /home/travis/build/neovim/neovim/src/nvim/api/vim.c:43:3
    neovim#22 0x599ed9 in handle_vim_command /home/travis/build/neovim/neovim/build/src/nvim/auto/msgpack_dispatch.c:2128:3
    neovim#23 0x23488a5 in on_request_event /home/travis/build/neovim/neovim/src/nvim/msgpack_rpc/channel.c:481:19
    neovim#24 0x118ff42 in queue_process_events /home/travis/build/neovim/neovim/src/nvim/event/queue.c:142:7
    neovim#25 0x25cb680 in nv_event /home/travis/build/neovim/neovim/src/nvim/normal.c:7876:3
    neovim#26 0x249e003 in normal_execute /home/travis/build/neovim/neovim/src/nvim/normal.c:1144:12
    neovim#27 0x3822fb3 in state_enter /home/travis/build/neovim/neovim/src/nvim/state.c:55:26
    neovim#28 0x23e3a34 in normal_enter /home/travis/build/neovim/neovim/src/nvim/normal.c:464:3
    neovim#29 0x1cfcd37 in main /home/travis/build/neovim/neovim/src/nvim/main.c:538:3

Indirect leak of 40 byte(s) in 1 object(s) allocated from:
    #0 0x4f2252 in malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x4f2252)
    #1 0x20730b5 in try_malloc /home/travis/build/neovim/neovim/src/nvim/memory.c:59:15
    #2 0x2073b01 in xmalloc /home/travis/build/neovim/neovim/src/nvim/memory.c:93:15
    #3 0x117eb39 in queue_new /home/travis/build/neovim/neovim/src/nvim/event/queue.c:97:15
    #4 0x117fe77 in queue_new_child /home/travis/build/neovim/neovim/src/nvim/event/queue.c:92:10
    #5 0xea2077 in common_job_init /home/travis/build/neovim/neovim/src/nvim/eval.c:21492:18
    #6 0xe55aae in f_termopen /home/travis/build/neovim/neovim/src/nvim/eval.c:16343:27
    neovim#7 0xb76afa in call_func /home/travis/build/neovim/neovim/src/nvim/eval.c:7256:21
    neovim#8 0xbae096 in get_func_tv /home/travis/build/neovim/neovim/src/nvim/eval.c:7105:11
    neovim#9 0xb9e700 in ex_call /home/travis/build/neovim/neovim/src/nvim/eval.c:2761:9
    neovim#10 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#11 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#12 0x13dd51c in do_cmdline_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:274:10
    neovim#13 0x1527f8d in ex_terminal /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:9515:3
    neovim#14 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#15 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#16 0x138a55d in do_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2611:3
    neovim#17 0x1380347 in cmd_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2323:12
    neovim#18 0x1380853 in ex_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2301:3
    neovim#19 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#20 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#21 0x13dd51c in do_cmdline_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:274:10
    neovim#22 0x68414a in vim_command /home/travis/build/neovim/neovim/src/nvim/api/vim.c:43:3
    neovim#23 0x599ed9 in handle_vim_command /home/travis/build/neovim/neovim/build/src/nvim/auto/msgpack_dispatch.c:2128:3
    neovim#24 0x23488a5 in on_request_event /home/travis/build/neovim/neovim/src/nvim/msgpack_rpc/channel.c:481:19
    neovim#25 0x118ff42 in queue_process_events /home/travis/build/neovim/neovim/src/nvim/event/queue.c:142:7
    neovim#26 0x25cb680 in nv_event /home/travis/build/neovim/neovim/src/nvim/normal.c:7876:3
    neovim#27 0x249e003 in normal_execute /home/travis/build/neovim/neovim/src/nvim/normal.c:1144:12
    neovim#28 0x3822fb3 in state_enter /home/travis/build/neovim/neovim/src/nvim/state.c:55:26
    neovim#29 0x23e3a34 in normal_enter /home/travis/build/neovim/neovim/src/nvim/normal.c:464:3

Indirect leak of 12 byte(s) in 1 object(s) allocated from:
    #0 0x4f2252 in malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x4f2252)
    #1 0x3e37648 in default_malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e37648)
    #2 0x3e36752 in vterm_allocator_malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e36752)
    #3 0x3e2f0d5 in vterm_obtain_state (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e2f0d5)
    #4 0x3ab2031 in terminal_open /home/travis/build/neovim/neovim/src/nvim/terminal.c:225:23
    #5 0xe59e77 in f_termopen /home/travis/build/neovim/neovim/src/nvim/eval.c:16380:20
    #6 0xb76afa in call_func /home/travis/build/neovim/neovim/src/nvim/eval.c:7256:21
    neovim#7 0xbae096 in get_func_tv /home/travis/build/neovim/neovim/src/nvim/eval.c:7105:11
    neovim#8 0xb9e700 in ex_call /home/travis/build/neovim/neovim/src/nvim/eval.c:2761:9
    neovim#9 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#10 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#11 0x13dd51c in do_cmdline_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:274:10
    neovim#12 0x1527f8d in ex_terminal /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:9515:3
    neovim#13 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#14 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#15 0x138a55d in do_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2611:3
    neovim#16 0x1380347 in cmd_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2323:12
    neovim#17 0x1380853 in ex_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2301:3
    neovim#18 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#19 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#20 0x13dd51c in do_cmdline_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:274:10
    neovim#21 0x68414a in vim_command /home/travis/build/neovim/neovim/src/nvim/api/vim.c:43:3
    neovim#22 0x599ed9 in handle_vim_command /home/travis/build/neovim/neovim/build/src/nvim/auto/msgpack_dispatch.c:2128:3
    neovim#23 0x23488a5 in on_request_event /home/travis/build/neovim/neovim/src/nvim/msgpack_rpc/channel.c:481:19
    neovim#24 0x118ff42 in queue_process_events /home/travis/build/neovim/neovim/src/nvim/event/queue.c:142:7
    neovim#25 0x25cb680 in nv_event /home/travis/build/neovim/neovim/src/nvim/normal.c:7876:3
    neovim#26 0x249e003 in normal_execute /home/travis/build/neovim/neovim/src/nvim/normal.c:1144:12
    neovim#27 0x3822fb3 in state_enter /home/travis/build/neovim/neovim/src/nvim/state.c:55:26
    neovim#28 0x23e3a34 in normal_enter /home/travis/build/neovim/neovim/src/nvim/normal.c:464:3
    neovim#29 0x1cfcd37 in main /home/travis/build/neovim/neovim/src/nvim/main.c:538:3

Indirect leak of 7 byte(s) in 1 object(s) allocated from:
    #0 0x4f2252 in malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x4f2252)
    #1 0x3e37648 in default_malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e37648)
    #2 0x3e36752 in vterm_allocator_malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e36752)
    #3 0x3e2f0b2 in vterm_obtain_state (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e2f0b2)
    #4 0x3ab2031 in terminal_open /home/travis/build/neovim/neovim/src/nvim/terminal.c:225:23
    #5 0xe59e77 in f_termopen /home/travis/build/neovim/neovim/src/nvim/eval.c:16380:20
    #6 0xb76afa in call_func /home/travis/build/neovim/neovim/src/nvim/eval.c:7256:21
    neovim#7 0xbae096 in get_func_tv /home/travis/build/neovim/neovim/src/nvim/eval.c:7105:11
    neovim#8 0xb9e700 in ex_call /home/travis/build/neovim/neovim/src/nvim/eval.c:2761:9
    neovim#9 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#10 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#11 0x13dd51c in do_cmdline_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:274:10
    neovim#12 0x1527f8d in ex_terminal /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:9515:3
    neovim#13 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#14 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#15 0x138a55d in do_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2611:3
    neovim#16 0x1380347 in cmd_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2323:12
    neovim#17 0x1380853 in ex_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2301:3
    neovim#18 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#19 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#20 0x13dd51c in do_cmdline_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:274:10
    neovim#21 0x68414a in vim_command /home/travis/build/neovim/neovim/src/nvim/api/vim.c:43:3
    neovim#22 0x599ed9 in handle_vim_command /home/travis/build/neovim/neovim/build/src/nvim/auto/msgpack_dispatch.c:2128:3
    neovim#23 0x23488a5 in on_request_event /home/travis/build/neovim/neovim/src/nvim/msgpack_rpc/channel.c:481:19
    neovim#24 0x118ff42 in queue_process_events /home/travis/build/neovim/neovim/src/nvim/event/queue.c:142:7
    neovim#25 0x25cb680 in nv_event /home/travis/build/neovim/neovim/src/nvim/normal.c:7876:3
    neovim#26 0x249e003 in normal_execute /home/travis/build/neovim/neovim/src/nvim/normal.c:1144:12
    neovim#27 0x3822fb3 in state_enter /home/travis/build/neovim/neovim/src/nvim/state.c:55:26
    neovim#28 0x23e3a34 in normal_enter /home/travis/build/neovim/neovim/src/nvim/normal.c:464:3
    neovim#29 0x1cfcd37 in main /home/travis/build/neovim/neovim/src/nvim/main.c:538:3

SUMMARY: AddressSanitizer: 30443 byte(s) leaked in 15 allocation(s).
justinmk added a commit to justinmk/neovim that referenced this pull request May 16, 2016
References neovim#3958

Test provokes ASAN failure:

=================================================================
==12124==ERROR: AddressSanitizer: heap-use-after-free on address 0x625000070928 at pc 0x000003abe56f bp 0x7fff3d320b10 sp 0x7fff3d320b08
READ of size 8 at 0x625000070928 thread T0
    #0 0x3abe56e in terminal_receive /home/travis/build/neovim/neovim/src/nvim/terminal.c:541:21
    #1 0xeaf1c3 in on_job_output /home/travis/build/neovim/neovim/src/nvim/eval.c:21664:5
    #2 0xeadbe4 in on_job_stdout /home/travis/build/neovim/neovim/src/nvim/eval.c:21639:3
    #3 0x119d6d2 in read_event /home/travis/build/neovim/neovim/src/nvim/event/rstream.c:178:5
    #4 0x118ff42 in queue_process_events /home/travis/build/neovim/neovim/src/nvim/event/queue.c:142:7
    #5 0x25cb680 in nv_event /home/travis/build/neovim/neovim/src/nvim/normal.c:7876:3
    #6 0x249e003 in normal_execute /home/travis/build/neovim/neovim/src/nvim/normal.c:1144:12
    neovim#7 0x3822fb3 in state_enter /home/travis/build/neovim/neovim/src/nvim/state.c:55:26
    neovim#8 0x23e3a34 in normal_enter /home/travis/build/neovim/neovim/src/nvim/normal.c:464:3
    neovim#9 0x1cfcd37 in main /home/travis/build/neovim/neovim/src/nvim/main.c:538:3
    neovim#10 0x2b30c093876c in __libc_start_main /build/eglibc-rrybNj/eglibc-2.15/csu/libc-start.c:226
    neovim#11 0x46b268 in _start (/home/travis/build/neovim/neovim/build/bin/nvim+0x46b268)

0x625000070928 is located 40 bytes inside of 8328-byte region [0x625000070900,0x625000072988)
freed by thread T0 here:
    #0 0x4f1f72 in __interceptor_free (/home/travis/build/neovim/neovim/build/bin/nvim+0x4f1f72)
    #1 0x2073ea5 in xfree /home/travis/build/neovim/neovim/src/nvim/memory.c:105:3
    #2 0x3ad386d in terminal_destroy /home/travis/build/neovim/neovim/src/nvim/terminal.c:507:5
    #3 0xea9b49 in term_close /home/travis/build/neovim/neovim/src/nvim/eval.c:21711:3
    #4 0x3abdd6b in terminal_close /home/travis/build/neovim/neovim/src/nvim/terminal.c:321:7
    #5 0x6d9355 in close_buffer /home/travis/build/neovim/neovim/src/nvim/buffer.c:393:5
    #6 0x717505 in empty_curbuf /home/travis/build/neovim/neovim/src/nvim/buffer.c:842:5
    neovim#7 0x6f9dc5 in do_buffer /home/travis/build/neovim/neovim/src/nvim/buffer.c:988:14
    neovim#8 0x70e054 in do_bufdel /home/travis/build/neovim/neovim/src/nvim/buffer.c:732:11
    neovim#9 0x14b99da in ex_bunload /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:4373:17
    neovim#10 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#11 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#12 0x2520d32 in nv_colon /home/travis/build/neovim/neovim/src/nvim/normal.c:4488:18
    neovim#13 0x249e003 in normal_execute /home/travis/build/neovim/neovim/src/nvim/normal.c:1144:12
    neovim#14 0x3822fb3 in state_enter /home/travis/build/neovim/neovim/src/nvim/state.c:55:26
    neovim#15 0x23e3a34 in normal_enter /home/travis/build/neovim/neovim/src/nvim/normal.c:464:3
    neovim#16 0x1cfcd37 in main /home/travis/build/neovim/neovim/src/nvim/main.c:538:3
    neovim#17 0x2b30c093876c in __libc_start_main /build/eglibc-rrybNj/eglibc-2.15/csu/libc-start.c:226

previously allocated by thread T0 here:
    #0 0x4f23cb in calloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x4f23cb)
    #1 0x2074608 in xcalloc /home/travis/build/neovim/neovim/src/nvim/memory.c:119:15
    #2 0x3ab0bb8 in terminal_open /home/travis/build/neovim/neovim/src/nvim/terminal.c:215:18
    #3 0xe59e77 in f_termopen /home/travis/build/neovim/neovim/src/nvim/eval.c:16380:20
    #4 0xb76afa in call_func /home/travis/build/neovim/neovim/src/nvim/eval.c:7256:21
    #5 0xbae096 in get_func_tv /home/travis/build/neovim/neovim/src/nvim/eval.c:7105:11
    #6 0xb9e700 in ex_call /home/travis/build/neovim/neovim/src/nvim/eval.c:2761:9
    neovim#7 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#8 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#9 0x2520d32 in nv_colon /home/travis/build/neovim/neovim/src/nvim/normal.c:4488:18
    neovim#10 0x249e003 in normal_execute /home/travis/build/neovim/neovim/src/nvim/normal.c:1144:12
    neovim#11 0x3822fb3 in state_enter /home/travis/build/neovim/neovim/src/nvim/state.c:55:26
    neovim#12 0x23e3a34 in normal_enter /home/travis/build/neovim/neovim/src/nvim/normal.c:464:3
    neovim#13 0x1cfcd37 in main /home/travis/build/neovim/neovim/src/nvim/main.c:538:3
    neovim#14 0x2b30c093876c in __libc_start_main /build/eglibc-rrybNj/eglibc-2.15/csu/libc-start.c:226

SUMMARY: AddressSanitizer: heap-use-after-free /home/travis/build/neovim/neovim/src/nvim/terminal.c:541 terminal_receive
Shadow bytes around the buggy address:
  0x0c4a800060d0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0c4a800060e0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0c4a800060f0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0c4a80006100: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0c4a80006110: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
=>0x0c4a80006120: fd fd fd fd fd[fd]fd fd fd fd fd fd fd fd fd fd
  0x0c4a80006130: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
  0x0c4a80006140: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
  0x0c4a80006150: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
  0x0c4a80006160: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
  0x0c4a80006170: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
Shadow byte legend (one shadow byte represents 8 application bytes):
  Addressable:           00
  Partially addressable: 01 02 03 04 05 06 07
  Heap left redzone:       fa
  Heap right redzone:      fb
  Freed heap region:       fd
  Stack left redzone:      f1
  Stack mid redzone:       f2
  Stack right redzone:     f3
  Stack partial redzone:   f4
  Stack after return:      f5
  Stack use after scope:   f8
  Global redzone:          f9
  Global init order:       f6
  Poisoned by user:        f7
  Container overflow:      fc
  Array cookie:            ac
  Intra object redzone:    bb
  ASan internal:           fe
  Left alloca redzone:     ca
  Right alloca redzone:    cb
==12124==ABORTING

=================================================================
==12138==ERROR: LeakSanitizer: detected memory leaks

Indirect leak of 8328 byte(s) in 1 object(s) allocated from:
    #0 0x4f23cb in calloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x4f23cb)
    #1 0x2074608 in xcalloc /home/travis/build/neovim/neovim/src/nvim/memory.c:119:15
    #2 0x3ab0bb8 in terminal_open /home/travis/build/neovim/neovim/src/nvim/terminal.c:215:18
    #3 0xe59e77 in f_termopen /home/travis/build/neovim/neovim/src/nvim/eval.c:16380:20
    #4 0xb76afa in call_func /home/travis/build/neovim/neovim/src/nvim/eval.c:7256:21
    #5 0xbae096 in get_func_tv /home/travis/build/neovim/neovim/src/nvim/eval.c:7105:11
    #6 0xb9e700 in ex_call /home/travis/build/neovim/neovim/src/nvim/eval.c:2761:9
    neovim#7 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#8 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#9 0x13dd51c in do_cmdline_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:274:10
    neovim#10 0x1527f8d in ex_terminal /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:9515:3
    neovim#11 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#12 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#13 0x138a55d in do_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2611:3
    neovim#14 0x1380347 in cmd_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2323:12
    neovim#15 0x1380853 in ex_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2301:3
    neovim#16 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#17 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#18 0x13dd51c in do_cmdline_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:274:10
    neovim#19 0x68414a in vim_command /home/travis/build/neovim/neovim/src/nvim/api/vim.c:43:3
    neovim#20 0x599ed9 in handle_vim_command /home/travis/build/neovim/neovim/build/src/nvim/auto/msgpack_dispatch.c:2128:3
    neovim#21 0x23488a5 in on_request_event /home/travis/build/neovim/neovim/src/nvim/msgpack_rpc/channel.c:481:19
    neovim#22 0x118ff42 in queue_process_events /home/travis/build/neovim/neovim/src/nvim/event/queue.c:142:7
    neovim#23 0x25cb680 in nv_event /home/travis/build/neovim/neovim/src/nvim/normal.c:7876:3
    neovim#24 0x249e003 in normal_execute /home/travis/build/neovim/neovim/src/nvim/normal.c:1144:12
    neovim#25 0x3822fb3 in state_enter /home/travis/build/neovim/neovim/src/nvim/state.c:55:26
    neovim#26 0x23e3a34 in normal_enter /home/travis/build/neovim/neovim/src/nvim/normal.c:464:3
    neovim#27 0x1cfcd37 in main /home/travis/build/neovim/neovim/src/nvim/main.c:538:3
    neovim#28 0x2ba0dea5f76c in __libc_start_main /build/eglibc-rrybNj/eglibc-2.15/csu/libc-start.c:226

Indirect leak of 8000 byte(s) in 1 object(s) allocated from:
    #0 0x4f2252 in malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x4f2252)
    #1 0x20730b5 in try_malloc /home/travis/build/neovim/neovim/src/nvim/memory.c:59:15
    #2 0x2073b01 in xmalloc /home/travis/build/neovim/neovim/src/nvim/memory.c:93:15
    #3 0x3ab496c in terminal_open /home/travis/build/neovim/neovim/src/nvim/terminal.c:257:19
    #4 0xe59e77 in f_termopen /home/travis/build/neovim/neovim/src/nvim/eval.c:16380:20
    #5 0xb76afa in call_func /home/travis/build/neovim/neovim/src/nvim/eval.c:7256:21
    #6 0xbae096 in get_func_tv /home/travis/build/neovim/neovim/src/nvim/eval.c:7105:11
    neovim#7 0xb9e700 in ex_call /home/travis/build/neovim/neovim/src/nvim/eval.c:2761:9
    neovim#8 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#9 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#10 0x13dd51c in do_cmdline_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:274:10
    neovim#11 0x1527f8d in ex_terminal /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:9515:3
    neovim#12 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#13 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#14 0x138a55d in do_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2611:3
    neovim#15 0x1380347 in cmd_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2323:12
    neovim#16 0x1380853 in ex_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2301:3
    neovim#17 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#18 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#19 0x13dd51c in do_cmdline_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:274:10
    neovim#20 0x68414a in vim_command /home/travis/build/neovim/neovim/src/nvim/api/vim.c:43:3
    neovim#21 0x599ed9 in handle_vim_command /home/travis/build/neovim/neovim/build/src/nvim/auto/msgpack_dispatch.c:2128:3
    neovim#22 0x23488a5 in on_request_event /home/travis/build/neovim/neovim/src/nvim/msgpack_rpc/channel.c:481:19
    neovim#23 0x118ff42 in queue_process_events /home/travis/build/neovim/neovim/src/nvim/event/queue.c:142:7
    neovim#24 0x25cb680 in nv_event /home/travis/build/neovim/neovim/src/nvim/normal.c:7876:3
    neovim#25 0x249e003 in normal_execute /home/travis/build/neovim/neovim/src/nvim/normal.c:1144:12
    neovim#26 0x3822fb3 in state_enter /home/travis/build/neovim/neovim/src/nvim/state.c:55:26
    neovim#27 0x23e3a34 in normal_enter /home/travis/build/neovim/neovim/src/nvim/normal.c:464:3
    neovim#28 0x1cfcd37 in main /home/travis/build/neovim/neovim/src/nvim/main.c:538:3
    neovim#29 0x2ba0dea5f76c in __libc_start_main /build/eglibc-rrybNj/eglibc-2.15/csu/libc-start.c:226

Indirect leak of 4800 byte(s) in 1 object(s) allocated from:
    #0 0x4f2252 in malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x4f2252)
    #1 0x3e37648 in default_malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e37648)
    #2 0x3e36752 in vterm_allocator_malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e36752)
    #3 0x3e2c881 in realloc_buffer (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e2c881)
    #4 0x3e2c834 in vterm_screen_enable_altscreen (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e2c834)
    #5 0x3ab2709 in terminal_open /home/travis/build/neovim/neovim/src/nvim/terminal.c:228:3
    #6 0xe59e77 in f_termopen /home/travis/build/neovim/neovim/src/nvim/eval.c:16380:20
    neovim#7 0xb76afa in call_func /home/travis/build/neovim/neovim/src/nvim/eval.c:7256:21
    neovim#8 0xbae096 in get_func_tv /home/travis/build/neovim/neovim/src/nvim/eval.c:7105:11
    neovim#9 0xb9e700 in ex_call /home/travis/build/neovim/neovim/src/nvim/eval.c:2761:9
    neovim#10 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#11 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#12 0x13dd51c in do_cmdline_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:274:10
    neovim#13 0x1527f8d in ex_terminal /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:9515:3
    neovim#14 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#15 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#16 0x138a55d in do_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2611:3
    neovim#17 0x1380347 in cmd_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2323:12
    neovim#18 0x1380853 in ex_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2301:3
    neovim#19 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#20 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#21 0x13dd51c in do_cmdline_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:274:10
    neovim#22 0x68414a in vim_command /home/travis/build/neovim/neovim/src/nvim/api/vim.c:43:3
    neovim#23 0x599ed9 in handle_vim_command /home/travis/build/neovim/neovim/build/src/nvim/auto/msgpack_dispatch.c:2128:3
    neovim#24 0x23488a5 in on_request_event /home/travis/build/neovim/neovim/src/nvim/msgpack_rpc/channel.c:481:19
    neovim#25 0x118ff42 in queue_process_events /home/travis/build/neovim/neovim/src/nvim/event/queue.c:142:7
    neovim#26 0x25cb680 in nv_event /home/travis/build/neovim/neovim/src/nvim/normal.c:7876:3
    neovim#27 0x249e003 in normal_execute /home/travis/build/neovim/neovim/src/nvim/normal.c:1144:12
    neovim#28 0x3822fb3 in state_enter /home/travis/build/neovim/neovim/src/nvim/state.c:55:26
    neovim#29 0x23e3a34 in normal_enter /home/travis/build/neovim/neovim/src/nvim/normal.c:464:3

Indirect leak of 4800 byte(s) in 1 object(s) allocated from:
    #0 0x4f2252 in malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x4f2252)
    #1 0x3e37648 in default_malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e37648)
    #2 0x3e36752 in vterm_allocator_malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e36752)
    #3 0x3e2c881 in realloc_buffer (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e2c881)
    #4 0x3e2c76f in screen_new (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e2c76f)
    #5 0x3e2c677 in vterm_obtain_screen (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e2c677)
    #6 0x3ab229f in terminal_open /home/travis/build/neovim/neovim/src/nvim/terminal.c:227:13
    neovim#7 0xe59e77 in f_termopen /home/travis/build/neovim/neovim/src/nvim/eval.c:16380:20
    neovim#8 0xb76afa in call_func /home/travis/build/neovim/neovim/src/nvim/eval.c:7256:21
    neovim#9 0xbae096 in get_func_tv /home/travis/build/neovim/neovim/src/nvim/eval.c:7105:11
    neovim#10 0xb9e700 in ex_call /home/travis/build/neovim/neovim/src/nvim/eval.c:2761:9
    neovim#11 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#12 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#13 0x13dd51c in do_cmdline_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:274:10
    neovim#14 0x1527f8d in ex_terminal /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:9515:3
    neovim#15 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#16 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#17 0x138a55d in do_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2611:3
    neovim#18 0x1380347 in cmd_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2323:12
    neovim#19 0x1380853 in ex_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2301:3
    neovim#20 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#21 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#22 0x13dd51c in do_cmdline_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:274:10
    neovim#23 0x68414a in vim_command /home/travis/build/neovim/neovim/src/nvim/api/vim.c:43:3
    neovim#24 0x599ed9 in handle_vim_command /home/travis/build/neovim/neovim/build/src/nvim/auto/msgpack_dispatch.c:2128:3
    neovim#25 0x23488a5 in on_request_event /home/travis/build/neovim/neovim/src/nvim/msgpack_rpc/channel.c:481:19
    neovim#26 0x118ff42 in queue_process_events /home/travis/build/neovim/neovim/src/nvim/event/queue.c:142:7
    neovim#27 0x25cb680 in nv_event /home/travis/build/neovim/neovim/src/nvim/normal.c:7876:3
    neovim#28 0x249e003 in normal_execute /home/travis/build/neovim/neovim/src/nvim/normal.c:1144:12
    neovim#29 0x3822fb3 in state_enter /home/travis/build/neovim/neovim/src/nvim/state.c:55:26

Indirect leak of 2000 byte(s) in 1 object(s) allocated from:
    #0 0x4f2252 in malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x4f2252)
    #1 0x3e37648 in default_malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e37648)
    #2 0x3e36752 in vterm_allocator_malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e36752)
    #3 0x3e2c79e in screen_new (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e2c79e)
    #4 0x3e2c677 in vterm_obtain_screen (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e2c677)
    #5 0x3ab229f in terminal_open /home/travis/build/neovim/neovim/src/nvim/terminal.c:227:13
    #6 0xe59e77 in f_termopen /home/travis/build/neovim/neovim/src/nvim/eval.c:16380:20
    neovim#7 0xb76afa in call_func /home/travis/build/neovim/neovim/src/nvim/eval.c:7256:21
    neovim#8 0xbae096 in get_func_tv /home/travis/build/neovim/neovim/src/nvim/eval.c:7105:11
    neovim#9 0xb9e700 in ex_call /home/travis/build/neovim/neovim/src/nvim/eval.c:2761:9
    neovim#10 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#11 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#12 0x13dd51c in do_cmdline_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:274:10
    neovim#13 0x1527f8d in ex_terminal /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:9515:3
    neovim#14 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#15 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#16 0x138a55d in do_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2611:3
    neovim#17 0x1380347 in cmd_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2323:12
    neovim#18 0x1380853 in ex_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2301:3
    neovim#19 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#20 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#21 0x13dd51c in do_cmdline_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:274:10
    neovim#22 0x68414a in vim_command /home/travis/build/neovim/neovim/src/nvim/api/vim.c:43:3
    neovim#23 0x599ed9 in handle_vim_command /home/travis/build/neovim/neovim/build/src/nvim/auto/msgpack_dispatch.c:2128:3
    neovim#24 0x23488a5 in on_request_event /home/travis/build/neovim/neovim/src/nvim/msgpack_rpc/channel.c:481:19
    neovim#25 0x118ff42 in queue_process_events /home/travis/build/neovim/neovim/src/nvim/event/queue.c:142:7
    neovim#26 0x25cb680 in nv_event /home/travis/build/neovim/neovim/src/nvim/normal.c:7876:3
    neovim#27 0x249e003 in normal_execute /home/travis/build/neovim/neovim/src/nvim/normal.c:1144:12
    neovim#28 0x3822fb3 in state_enter /home/travis/build/neovim/neovim/src/nvim/state.c:55:26
    neovim#29 0x23e3a34 in normal_enter /home/travis/build/neovim/neovim/src/nvim/normal.c:464:3

Indirect leak of 1640 byte(s) in 1 object(s) allocated from:
    #0 0x4f23cb in calloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x4f23cb)
    #1 0x2074608 in xcalloc /home/travis/build/neovim/neovim/src/nvim/memory.c:119:15
    #2 0xea12a6 in common_job_init /home/travis/build/neovim/neovim/src/nvim/eval.c:21486:27
    #3 0xe55aae in f_termopen /home/travis/build/neovim/neovim/src/nvim/eval.c:16343:27
    #4 0xb76afa in call_func /home/travis/build/neovim/neovim/src/nvim/eval.c:7256:21
    #5 0xbae096 in get_func_tv /home/travis/build/neovim/neovim/src/nvim/eval.c:7105:11
    #6 0xb9e700 in ex_call /home/travis/build/neovim/neovim/src/nvim/eval.c:2761:9
    neovim#7 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#8 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#9 0x13dd51c in do_cmdline_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:274:10
    neovim#10 0x1527f8d in ex_terminal /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:9515:3
    neovim#11 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#12 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#13 0x138a55d in do_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2611:3
    neovim#14 0x1380347 in cmd_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2323:12
    neovim#15 0x1380853 in ex_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2301:3
    neovim#16 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#17 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#18 0x13dd51c in do_cmdline_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:274:10
    neovim#19 0x68414a in vim_command /home/travis/build/neovim/neovim/src/nvim/api/vim.c:43:3
    neovim#20 0x599ed9 in handle_vim_command /home/travis/build/neovim/neovim/build/src/nvim/auto/msgpack_dispatch.c:2128:3
    neovim#21 0x23488a5 in on_request_event /home/travis/build/neovim/neovim/src/nvim/msgpack_rpc/channel.c:481:19
    neovim#22 0x118ff42 in queue_process_events /home/travis/build/neovim/neovim/src/nvim/event/queue.c:142:7
    neovim#23 0x25cb680 in nv_event /home/travis/build/neovim/neovim/src/nvim/normal.c:7876:3
    neovim#24 0x249e003 in normal_execute /home/travis/build/neovim/neovim/src/nvim/normal.c:1144:12
    neovim#25 0x3822fb3 in state_enter /home/travis/build/neovim/neovim/src/nvim/state.c:55:26
    neovim#26 0x23e3a34 in normal_enter /home/travis/build/neovim/neovim/src/nvim/normal.c:464:3
    neovim#27 0x1cfcd37 in main /home/travis/build/neovim/neovim/src/nvim/main.c:538:3
    neovim#28 0x2ba0dea5f76c in __libc_start_main /build/eglibc-rrybNj/eglibc-2.15/csu/libc-start.c:226

Indirect leak of 384 byte(s) in 1 object(s) allocated from:
    #0 0x4f2252 in malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x4f2252)
    #1 0x3e37648 in default_malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e37648)
    #2 0x3e36752 in vterm_allocator_malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e36752)
    #3 0x3e2f18b in vterm_state_new (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e2f18b)
    #4 0x3e2f047 in vterm_obtain_state (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e2f047)
    #5 0x3ab2031 in terminal_open /home/travis/build/neovim/neovim/src/nvim/terminal.c:225:23
    #6 0xe59e77 in f_termopen /home/travis/build/neovim/neovim/src/nvim/eval.c:16380:20
    neovim#7 0xb76afa in call_func /home/travis/build/neovim/neovim/src/nvim/eval.c:7256:21
    neovim#8 0xbae096 in get_func_tv /home/travis/build/neovim/neovim/src/nvim/eval.c:7105:11
    neovim#9 0xb9e700 in ex_call /home/travis/build/neovim/neovim/src/nvim/eval.c:2761:9
    neovim#10 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#11 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#12 0x13dd51c in do_cmdline_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:274:10
    neovim#13 0x1527f8d in ex_terminal /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:9515:3
    neovim#14 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#15 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#16 0x138a55d in do_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2611:3
    neovim#17 0x1380347 in cmd_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2323:12
    neovim#18 0x1380853 in ex_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2301:3
    neovim#19 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#20 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#21 0x13dd51c in do_cmdline_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:274:10
    neovim#22 0x68414a in vim_command /home/travis/build/neovim/neovim/src/nvim/api/vim.c:43:3
    neovim#23 0x599ed9 in handle_vim_command /home/travis/build/neovim/neovim/build/src/nvim/auto/msgpack_dispatch.c:2128:3
    neovim#24 0x23488a5 in on_request_event /home/travis/build/neovim/neovim/src/nvim/msgpack_rpc/channel.c:481:19
    neovim#25 0x118ff42 in queue_process_events /home/travis/build/neovim/neovim/src/nvim/event/queue.c:142:7
    neovim#26 0x25cb680 in nv_event /home/travis/build/neovim/neovim/src/nvim/normal.c:7876:3
    neovim#27 0x249e003 in normal_execute /home/travis/build/neovim/neovim/src/nvim/normal.c:1144:12
    neovim#28 0x3822fb3 in state_enter /home/travis/build/neovim/neovim/src/nvim/state.c:55:26
    neovim#29 0x23e3a34 in normal_enter /home/travis/build/neovim/neovim/src/nvim/normal.c:464:3

Indirect leak of 128 byte(s) in 1 object(s) allocated from:
    #0 0x4f2252 in malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x4f2252)
    #1 0x3e37648 in default_malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e37648)
    #2 0x3e36752 in vterm_allocator_malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e36752)
    #3 0x3e2c6e3 in screen_new (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e2c6e3)
    #4 0x3e2c677 in vterm_obtain_screen (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e2c677)
    #5 0x3ab229f in terminal_open /home/travis/build/neovim/neovim/src/nvim/terminal.c:227:13
    #6 0xe59e77 in f_termopen /home/travis/build/neovim/neovim/src/nvim/eval.c:16380:20
    neovim#7 0xb76afa in call_func /home/travis/build/neovim/neovim/src/nvim/eval.c:7256:21
    neovim#8 0xbae096 in get_func_tv /home/travis/build/neovim/neovim/src/nvim/eval.c:7105:11
    neovim#9 0xb9e700 in ex_call /home/travis/build/neovim/neovim/src/nvim/eval.c:2761:9
    neovim#10 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#11 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#12 0x13dd51c in do_cmdline_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:274:10
    neovim#13 0x1527f8d in ex_terminal /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:9515:3
    neovim#14 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#15 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#16 0x138a55d in do_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2611:3
    neovim#17 0x1380347 in cmd_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2323:12
    neovim#18 0x1380853 in ex_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2301:3
    neovim#19 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#20 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#21 0x13dd51c in do_cmdline_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:274:10
    neovim#22 0x68414a in vim_command /home/travis/build/neovim/neovim/src/nvim/api/vim.c:43:3
    neovim#23 0x599ed9 in handle_vim_command /home/travis/build/neovim/neovim/build/src/nvim/auto/msgpack_dispatch.c:2128:3
    neovim#24 0x23488a5 in on_request_event /home/travis/build/neovim/neovim/src/nvim/msgpack_rpc/channel.c:481:19
    neovim#25 0x118ff42 in queue_process_events /home/travis/build/neovim/neovim/src/nvim/event/queue.c:142:7
    neovim#26 0x25cb680 in nv_event /home/travis/build/neovim/neovim/src/nvim/normal.c:7876:3
    neovim#27 0x249e003 in normal_execute /home/travis/build/neovim/neovim/src/nvim/normal.c:1144:12
    neovim#28 0x3822fb3 in state_enter /home/travis/build/neovim/neovim/src/nvim/state.c:55:26
    neovim#29 0x23e3a34 in normal_enter /home/travis/build/neovim/neovim/src/nvim/normal.c:464:3

Indirect leak of 112 byte(s) in 1 object(s) allocated from:
    #0 0x4f2252 in malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x4f2252)
    #1 0x3e37648 in default_malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e37648)
    #2 0x3e3665d in vterm_new_with_allocator (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e3665d)
    #3 0x3e36623 in vterm_new (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e36623)
    #4 0x3ab199a in terminal_open /home/travis/build/neovim/neovim/src/nvim/terminal.c:222:12
    #5 0xe59e77 in f_termopen /home/travis/build/neovim/neovim/src/nvim/eval.c:16380:20
    #6 0xb76afa in call_func /home/travis/build/neovim/neovim/src/nvim/eval.c:7256:21
    neovim#7 0xbae096 in get_func_tv /home/travis/build/neovim/neovim/src/nvim/eval.c:7105:11
    neovim#8 0xb9e700 in ex_call /home/travis/build/neovim/neovim/src/nvim/eval.c:2761:9
    neovim#9 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#10 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#11 0x13dd51c in do_cmdline_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:274:10
    neovim#12 0x1527f8d in ex_terminal /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:9515:3
    neovim#13 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#14 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#15 0x138a55d in do_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2611:3
    neovim#16 0x1380347 in cmd_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2323:12
    neovim#17 0x1380853 in ex_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2301:3
    neovim#18 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#19 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#20 0x13dd51c in do_cmdline_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:274:10
    neovim#21 0x68414a in vim_command /home/travis/build/neovim/neovim/src/nvim/api/vim.c:43:3
    neovim#22 0x599ed9 in handle_vim_command /home/travis/build/neovim/neovim/build/src/nvim/auto/msgpack_dispatch.c:2128:3
    neovim#23 0x23488a5 in on_request_event /home/travis/build/neovim/neovim/src/nvim/msgpack_rpc/channel.c:481:19
    neovim#24 0x118ff42 in queue_process_events /home/travis/build/neovim/neovim/src/nvim/event/queue.c:142:7
    neovim#25 0x25cb680 in nv_event /home/travis/build/neovim/neovim/src/nvim/normal.c:7876:3
    neovim#26 0x249e003 in normal_execute /home/travis/build/neovim/neovim/src/nvim/normal.c:1144:12
    neovim#27 0x3822fb3 in state_enter /home/travis/build/neovim/neovim/src/nvim/state.c:55:26
    neovim#28 0x23e3a34 in normal_enter /home/travis/build/neovim/neovim/src/nvim/normal.c:464:3
    neovim#29 0x1cfcd37 in main /home/travis/build/neovim/neovim/src/nvim/main.c:538:3

Indirect leak of 64 byte(s) in 1 object(s) allocated from:
    #0 0x4f2252 in malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x4f2252)
    #1 0x3e37648 in default_malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e37648)
    #2 0x3e36752 in vterm_allocator_malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e36752)
    #3 0x3e366dc in vterm_new_with_allocator (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e366dc)
    #4 0x3e36623 in vterm_new (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e36623)
    #5 0x3ab199a in terminal_open /home/travis/build/neovim/neovim/src/nvim/terminal.c:222:12
    #6 0xe59e77 in f_termopen /home/travis/build/neovim/neovim/src/nvim/eval.c:16380:20
    neovim#7 0xb76afa in call_func /home/travis/build/neovim/neovim/src/nvim/eval.c:7256:21
    neovim#8 0xbae096 in get_func_tv /home/travis/build/neovim/neovim/src/nvim/eval.c:7105:11
    neovim#9 0xb9e700 in ex_call /home/travis/build/neovim/neovim/src/nvim/eval.c:2761:9
    neovim#10 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#11 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#12 0x13dd51c in do_cmdline_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:274:10
    neovim#13 0x1527f8d in ex_terminal /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:9515:3
    neovim#14 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#15 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#16 0x138a55d in do_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2611:3
    neovim#17 0x1380347 in cmd_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2323:12
    neovim#18 0x1380853 in ex_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2301:3
    neovim#19 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#20 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#21 0x13dd51c in do_cmdline_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:274:10
    neovim#22 0x68414a in vim_command /home/travis/build/neovim/neovim/src/nvim/api/vim.c:43:3
    neovim#23 0x599ed9 in handle_vim_command /home/travis/build/neovim/neovim/build/src/nvim/auto/msgpack_dispatch.c:2128:3
    neovim#24 0x23488a5 in on_request_event /home/travis/build/neovim/neovim/src/nvim/msgpack_rpc/channel.c:481:19
    neovim#25 0x118ff42 in queue_process_events /home/travis/build/neovim/neovim/src/nvim/event/queue.c:142:7
    neovim#26 0x25cb680 in nv_event /home/travis/build/neovim/neovim/src/nvim/normal.c:7876:3
    neovim#27 0x249e003 in normal_execute /home/travis/build/neovim/neovim/src/nvim/normal.c:1144:12
    neovim#28 0x3822fb3 in state_enter /home/travis/build/neovim/neovim/src/nvim/state.c:55:26
    neovim#29 0x23e3a34 in normal_enter /home/travis/build/neovim/neovim/src/nvim/normal.c:464:3

Indirect leak of 64 byte(s) in 1 object(s) allocated from:
    #0 0x4f2252 in malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x4f2252)
    #1 0x3e37648 in default_malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e37648)
    #2 0x3e36752 in vterm_allocator_malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e36752)
    #3 0x3e3670d in vterm_new_with_allocator (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e3670d)
    #4 0x3e36623 in vterm_new (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e36623)
    #5 0x3ab199a in terminal_open /home/travis/build/neovim/neovim/src/nvim/terminal.c:222:12
    #6 0xe59e77 in f_termopen /home/travis/build/neovim/neovim/src/nvim/eval.c:16380:20
    neovim#7 0xb76afa in call_func /home/travis/build/neovim/neovim/src/nvim/eval.c:7256:21
    neovim#8 0xbae096 in get_func_tv /home/travis/build/neovim/neovim/src/nvim/eval.c:7105:11
    neovim#9 0xb9e700 in ex_call /home/travis/build/neovim/neovim/src/nvim/eval.c:2761:9
    neovim#10 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#11 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#12 0x13dd51c in do_cmdline_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:274:10
    neovim#13 0x1527f8d in ex_terminal /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:9515:3
    neovim#14 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#15 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#16 0x138a55d in do_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2611:3
    neovim#17 0x1380347 in cmd_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2323:12
    neovim#18 0x1380853 in ex_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2301:3
    neovim#19 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#20 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#21 0x13dd51c in do_cmdline_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:274:10
    neovim#22 0x68414a in vim_command /home/travis/build/neovim/neovim/src/nvim/api/vim.c:43:3
    neovim#23 0x599ed9 in handle_vim_command /home/travis/build/neovim/neovim/build/src/nvim/auto/msgpack_dispatch.c:2128:3
    neovim#24 0x23488a5 in on_request_event /home/travis/build/neovim/neovim/src/nvim/msgpack_rpc/channel.c:481:19
    neovim#25 0x118ff42 in queue_process_events /home/travis/build/neovim/neovim/src/nvim/event/queue.c:142:7
    neovim#26 0x25cb680 in nv_event /home/travis/build/neovim/neovim/src/nvim/normal.c:7876:3
    neovim#27 0x249e003 in normal_execute /home/travis/build/neovim/neovim/src/nvim/normal.c:1144:12
    neovim#28 0x3822fb3 in state_enter /home/travis/build/neovim/neovim/src/nvim/state.c:55:26
    neovim#29 0x23e3a34 in normal_enter /home/travis/build/neovim/neovim/src/nvim/normal.c:464:3

Indirect leak of 64 byte(s) in 1 object(s) allocated from:
    #0 0x4f2252 in malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x4f2252)
    #1 0x3e37648 in default_malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e37648)
    #2 0x3e36752 in vterm_allocator_malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e36752)
    #3 0x3e2f084 in vterm_obtain_state (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e2f084)
    #4 0x3ab2031 in terminal_open /home/travis/build/neovim/neovim/src/nvim/terminal.c:225:23
    #5 0xe59e77 in f_termopen /home/travis/build/neovim/neovim/src/nvim/eval.c:16380:20
    #6 0xb76afa in call_func /home/travis/build/neovim/neovim/src/nvim/eval.c:7256:21
    neovim#7 0xbae096 in get_func_tv /home/travis/build/neovim/neovim/src/nvim/eval.c:7105:11
    neovim#8 0xb9e700 in ex_call /home/travis/build/neovim/neovim/src/nvim/eval.c:2761:9
    neovim#9 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#10 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#11 0x13dd51c in do_cmdline_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:274:10
    neovim#12 0x1527f8d in ex_terminal /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:9515:3
    neovim#13 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#14 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#15 0x138a55d in do_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2611:3
    neovim#16 0x1380347 in cmd_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2323:12
    neovim#17 0x1380853 in ex_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2301:3
    neovim#18 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#19 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#20 0x13dd51c in do_cmdline_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:274:10
    neovim#21 0x68414a in vim_command /home/travis/build/neovim/neovim/src/nvim/api/vim.c:43:3
    neovim#22 0x599ed9 in handle_vim_command /home/travis/build/neovim/neovim/build/src/nvim/auto/msgpack_dispatch.c:2128:3
    neovim#23 0x23488a5 in on_request_event /home/travis/build/neovim/neovim/src/nvim/msgpack_rpc/channel.c:481:19
    neovim#24 0x118ff42 in queue_process_events /home/travis/build/neovim/neovim/src/nvim/event/queue.c:142:7
    neovim#25 0x25cb680 in nv_event /home/travis/build/neovim/neovim/src/nvim/normal.c:7876:3
    neovim#26 0x249e003 in normal_execute /home/travis/build/neovim/neovim/src/nvim/normal.c:1144:12
    neovim#27 0x3822fb3 in state_enter /home/travis/build/neovim/neovim/src/nvim/state.c:55:26
    neovim#28 0x23e3a34 in normal_enter /home/travis/build/neovim/neovim/src/nvim/normal.c:464:3
    neovim#29 0x1cfcd37 in main /home/travis/build/neovim/neovim/src/nvim/main.c:538:3

Indirect leak of 40 byte(s) in 1 object(s) allocated from:
    #0 0x4f2252 in malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x4f2252)
    #1 0x20730b5 in try_malloc /home/travis/build/neovim/neovim/src/nvim/memory.c:59:15
    #2 0x2073b01 in xmalloc /home/travis/build/neovim/neovim/src/nvim/memory.c:93:15
    #3 0x117eb39 in queue_new /home/travis/build/neovim/neovim/src/nvim/event/queue.c:97:15
    #4 0x117fe77 in queue_new_child /home/travis/build/neovim/neovim/src/nvim/event/queue.c:92:10
    #5 0xea2077 in common_job_init /home/travis/build/neovim/neovim/src/nvim/eval.c:21492:18
    #6 0xe55aae in f_termopen /home/travis/build/neovim/neovim/src/nvim/eval.c:16343:27
    neovim#7 0xb76afa in call_func /home/travis/build/neovim/neovim/src/nvim/eval.c:7256:21
    neovim#8 0xbae096 in get_func_tv /home/travis/build/neovim/neovim/src/nvim/eval.c:7105:11
    neovim#9 0xb9e700 in ex_call /home/travis/build/neovim/neovim/src/nvim/eval.c:2761:9
    neovim#10 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#11 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#12 0x13dd51c in do_cmdline_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:274:10
    neovim#13 0x1527f8d in ex_terminal /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:9515:3
    neovim#14 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#15 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#16 0x138a55d in do_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2611:3
    neovim#17 0x1380347 in cmd_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2323:12
    neovim#18 0x1380853 in ex_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2301:3
    neovim#19 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#20 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#21 0x13dd51c in do_cmdline_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:274:10
    neovim#22 0x68414a in vim_command /home/travis/build/neovim/neovim/src/nvim/api/vim.c:43:3
    neovim#23 0x599ed9 in handle_vim_command /home/travis/build/neovim/neovim/build/src/nvim/auto/msgpack_dispatch.c:2128:3
    neovim#24 0x23488a5 in on_request_event /home/travis/build/neovim/neovim/src/nvim/msgpack_rpc/channel.c:481:19
    neovim#25 0x118ff42 in queue_process_events /home/travis/build/neovim/neovim/src/nvim/event/queue.c:142:7
    neovim#26 0x25cb680 in nv_event /home/travis/build/neovim/neovim/src/nvim/normal.c:7876:3
    neovim#27 0x249e003 in normal_execute /home/travis/build/neovim/neovim/src/nvim/normal.c:1144:12
    neovim#28 0x3822fb3 in state_enter /home/travis/build/neovim/neovim/src/nvim/state.c:55:26
    neovim#29 0x23e3a34 in normal_enter /home/travis/build/neovim/neovim/src/nvim/normal.c:464:3

Indirect leak of 12 byte(s) in 1 object(s) allocated from:
    #0 0x4f2252 in malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x4f2252)
    #1 0x3e37648 in default_malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e37648)
    #2 0x3e36752 in vterm_allocator_malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e36752)
    #3 0x3e2f0d5 in vterm_obtain_state (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e2f0d5)
    #4 0x3ab2031 in terminal_open /home/travis/build/neovim/neovim/src/nvim/terminal.c:225:23
    #5 0xe59e77 in f_termopen /home/travis/build/neovim/neovim/src/nvim/eval.c:16380:20
    #6 0xb76afa in call_func /home/travis/build/neovim/neovim/src/nvim/eval.c:7256:21
    neovim#7 0xbae096 in get_func_tv /home/travis/build/neovim/neovim/src/nvim/eval.c:7105:11
    neovim#8 0xb9e700 in ex_call /home/travis/build/neovim/neovim/src/nvim/eval.c:2761:9
    neovim#9 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#10 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#11 0x13dd51c in do_cmdline_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:274:10
    neovim#12 0x1527f8d in ex_terminal /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:9515:3
    neovim#13 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#14 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#15 0x138a55d in do_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2611:3
    neovim#16 0x1380347 in cmd_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2323:12
    neovim#17 0x1380853 in ex_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2301:3
    neovim#18 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#19 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#20 0x13dd51c in do_cmdline_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:274:10
    neovim#21 0x68414a in vim_command /home/travis/build/neovim/neovim/src/nvim/api/vim.c:43:3
    neovim#22 0x599ed9 in handle_vim_command /home/travis/build/neovim/neovim/build/src/nvim/auto/msgpack_dispatch.c:2128:3
    neovim#23 0x23488a5 in on_request_event /home/travis/build/neovim/neovim/src/nvim/msgpack_rpc/channel.c:481:19
    neovim#24 0x118ff42 in queue_process_events /home/travis/build/neovim/neovim/src/nvim/event/queue.c:142:7
    neovim#25 0x25cb680 in nv_event /home/travis/build/neovim/neovim/src/nvim/normal.c:7876:3
    neovim#26 0x249e003 in normal_execute /home/travis/build/neovim/neovim/src/nvim/normal.c:1144:12
    neovim#27 0x3822fb3 in state_enter /home/travis/build/neovim/neovim/src/nvim/state.c:55:26
    neovim#28 0x23e3a34 in normal_enter /home/travis/build/neovim/neovim/src/nvim/normal.c:464:3
    neovim#29 0x1cfcd37 in main /home/travis/build/neovim/neovim/src/nvim/main.c:538:3

Indirect leak of 7 byte(s) in 1 object(s) allocated from:
    #0 0x4f2252 in malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x4f2252)
    #1 0x3e37648 in default_malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e37648)
    #2 0x3e36752 in vterm_allocator_malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e36752)
    #3 0x3e2f0b2 in vterm_obtain_state (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e2f0b2)
    #4 0x3ab2031 in terminal_open /home/travis/build/neovim/neovim/src/nvim/terminal.c:225:23
    #5 0xe59e77 in f_termopen /home/travis/build/neovim/neovim/src/nvim/eval.c:16380:20
    #6 0xb76afa in call_func /home/travis/build/neovim/neovim/src/nvim/eval.c:7256:21
    neovim#7 0xbae096 in get_func_tv /home/travis/build/neovim/neovim/src/nvim/eval.c:7105:11
    neovim#8 0xb9e700 in ex_call /home/travis/build/neovim/neovim/src/nvim/eval.c:2761:9
    neovim#9 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#10 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#11 0x13dd51c in do_cmdline_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:274:10
    neovim#12 0x1527f8d in ex_terminal /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:9515:3
    neovim#13 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#14 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#15 0x138a55d in do_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2611:3
    neovim#16 0x1380347 in cmd_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2323:12
    neovim#17 0x1380853 in ex_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2301:3
    neovim#18 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
    neovim#19 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
    neovim#20 0x13dd51c in do_cmdline_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:274:10
    neovim#21 0x68414a in vim_command /home/travis/build/neovim/neovim/src/nvim/api/vim.c:43:3
    neovim#22 0x599ed9 in handle_vim_command /home/travis/build/neovim/neovim/build/src/nvim/auto/msgpack_dispatch.c:2128:3
    neovim#23 0x23488a5 in on_request_event /home/travis/build/neovim/neovim/src/nvim/msgpack_rpc/channel.c:481:19
    neovim#24 0x118ff42 in queue_process_events /home/travis/build/neovim/neovim/src/nvim/event/queue.c:142:7
    neovim#25 0x25cb680 in nv_event /home/travis/build/neovim/neovim/src/nvim/normal.c:7876:3
    neovim#26 0x249e003 in normal_execute /home/travis/build/neovim/neovim/src/nvim/normal.c:1144:12
    neovim#27 0x3822fb3 in state_enter /home/travis/build/neovim/neovim/src/nvim/state.c:55:26
    neovim#28 0x23e3a34 in normal_enter /home/travis/build/neovim/neovim/src/nvim/normal.c:464:3
    neovim#29 0x1cfcd37 in main /home/travis/build/neovim/neovim/src/nvim/main.c:538:3

SUMMARY: AddressSanitizer: 30443 byte(s) leaked in 15 allocation(s).
justinmk added a commit to justinmk/neovim that referenced this pull request May 16, 2016
References #3958

Test provokes ASAN failure:

```
    =================================================================
    ==12124==ERROR: AddressSanitizer: heap-use-after-free on address 0x625000070928 at pc 0x000003abe56f bp 0x7fff3d320b10 sp 0x7fff3d320b08
    READ of size 8 at 0x625000070928 thread T0
        #0 0x3abe56e in terminal_receive /home/travis/build/neovim/neovim/src/nvim/terminal.c:541:21
        #1 0xeaf1c3 in on_job_output /home/travis/build/neovim/neovim/src/nvim/eval.c:21664:5
        #2 0xeadbe4 in on_job_stdout /home/travis/build/neovim/neovim/src/nvim/eval.c:21639:3
        #3 0x119d6d2 in read_event /home/travis/build/neovim/neovim/src/nvim/event/rstream.c:178:5
        #4 0x118ff42 in queue_process_events /home/travis/build/neovim/neovim/src/nvim/event/queue.c:142:7
        #5 0x25cb680 in nv_event /home/travis/build/neovim/neovim/src/nvim/normal.c:7876:3
        #6 0x249e003 in normal_execute /home/travis/build/neovim/neovim/src/nvim/normal.c:1144:12
        #7 0x3822fb3 in state_enter /home/travis/build/neovim/neovim/src/nvim/state.c:55:26
        #8 0x23e3a34 in normal_enter /home/travis/build/neovim/neovim/src/nvim/normal.c:464:3
        #9 0x1cfcd37 in main /home/travis/build/neovim/neovim/src/nvim/main.c:538:3
        #10 0x2b30c093876c in __libc_start_main /build/eglibc-rrybNj/eglibc-2.15/csu/libc-start.c:226
        #11 0x46b268 in _start (/home/travis/build/neovim/neovim/build/bin/nvim+0x46b268)

    0x625000070928 is located 40 bytes inside of 8328-byte region [0x625000070900,0x625000072988)
    freed by thread T0 here:
        #0 0x4f1f72 in __interceptor_free (/home/travis/build/neovim/neovim/build/bin/nvim+0x4f1f72)
        #1 0x2073ea5 in xfree /home/travis/build/neovim/neovim/src/nvim/memory.c:105:3
        #2 0x3ad386d in terminal_destroy /home/travis/build/neovim/neovim/src/nvim/terminal.c:507:5
        #3 0xea9b49 in term_close /home/travis/build/neovim/neovim/src/nvim/eval.c:21711:3
        #4 0x3abdd6b in terminal_close /home/travis/build/neovim/neovim/src/nvim/terminal.c:321:7
        #5 0x6d9355 in close_buffer /home/travis/build/neovim/neovim/src/nvim/buffer.c:393:5
        #6 0x717505 in empty_curbuf /home/travis/build/neovim/neovim/src/nvim/buffer.c:842:5
        #7 0x6f9dc5 in do_buffer /home/travis/build/neovim/neovim/src/nvim/buffer.c:988:14
        #8 0x70e054 in do_bufdel /home/travis/build/neovim/neovim/src/nvim/buffer.c:732:11
        #9 0x14b99da in ex_bunload /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:4373:17
        #10 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
        #11 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
        #12 0x2520d32 in nv_colon /home/travis/build/neovim/neovim/src/nvim/normal.c:4488:18
        #13 0x249e003 in normal_execute /home/travis/build/neovim/neovim/src/nvim/normal.c:1144:12
        #14 0x3822fb3 in state_enter /home/travis/build/neovim/neovim/src/nvim/state.c:55:26
        #15 0x23e3a34 in normal_enter /home/travis/build/neovim/neovim/src/nvim/normal.c:464:3
        #16 0x1cfcd37 in main /home/travis/build/neovim/neovim/src/nvim/main.c:538:3
        #17 0x2b30c093876c in __libc_start_main /build/eglibc-rrybNj/eglibc-2.15/csu/libc-start.c:226

    previously allocated by thread T0 here:
        #0 0x4f23cb in calloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x4f23cb)
        #1 0x2074608 in xcalloc /home/travis/build/neovim/neovim/src/nvim/memory.c:119:15
        #2 0x3ab0bb8 in terminal_open /home/travis/build/neovim/neovim/src/nvim/terminal.c:215:18
        #3 0xe59e77 in f_termopen /home/travis/build/neovim/neovim/src/nvim/eval.c:16380:20
        #4 0xb76afa in call_func /home/travis/build/neovim/neovim/src/nvim/eval.c:7256:21
        #5 0xbae096 in get_func_tv /home/travis/build/neovim/neovim/src/nvim/eval.c:7105:11
        #6 0xb9e700 in ex_call /home/travis/build/neovim/neovim/src/nvim/eval.c:2761:9
        #7 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
        #8 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
        #9 0x2520d32 in nv_colon /home/travis/build/neovim/neovim/src/nvim/normal.c:4488:18
        #10 0x249e003 in normal_execute /home/travis/build/neovim/neovim/src/nvim/normal.c:1144:12
        #11 0x3822fb3 in state_enter /home/travis/build/neovim/neovim/src/nvim/state.c:55:26
        #12 0x23e3a34 in normal_enter /home/travis/build/neovim/neovim/src/nvim/normal.c:464:3
        #13 0x1cfcd37 in main /home/travis/build/neovim/neovim/src/nvim/main.c:538:3
        #14 0x2b30c093876c in __libc_start_main /build/eglibc-rrybNj/eglibc-2.15/csu/libc-start.c:226

    SUMMARY: AddressSanitizer: heap-use-after-free /home/travis/build/neovim/neovim/src/nvim/terminal.c:541 terminal_receive
    Shadow bytes around the buggy address:
      0x0c4a800060d0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
      0x0c4a800060e0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
      0x0c4a800060f0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
      0x0c4a80006100: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
      0x0c4a80006110: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
    =>0x0c4a80006120: fd fd fd fd fd[fd]fd fd fd fd fd fd fd fd fd fd
      0x0c4a80006130: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
      0x0c4a80006140: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
      0x0c4a80006150: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
      0x0c4a80006160: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
      0x0c4a80006170: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
    Shadow byte legend (one shadow byte represents 8 application bytes):
      Addressable:           00
      Partially addressable: 01 02 03 04 05 06 07
      Heap left redzone:       fa
      Heap right redzone:      fb
      Freed heap region:       fd
      Stack left redzone:      f1
      Stack mid redzone:       f2
      Stack right redzone:     f3
      Stack partial redzone:   f4
      Stack after return:      f5
      Stack use after scope:   f8
      Global redzone:          f9
      Global init order:       f6
      Poisoned by user:        f7
      Container overflow:      fc
      Array cookie:            ac
      Intra object redzone:    bb
      ASan internal:           fe
      Left alloca redzone:     ca
      Right alloca redzone:    cb
    ==12124==ABORTING

    =================================================================
    ==12138==ERROR: LeakSanitizer: detected memory leaks

    Indirect leak of 8328 byte(s) in 1 object(s) allocated from:
        #0 0x4f23cb in calloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x4f23cb)
        #1 0x2074608 in xcalloc /home/travis/build/neovim/neovim/src/nvim/memory.c:119:15
        #2 0x3ab0bb8 in terminal_open /home/travis/build/neovim/neovim/src/nvim/terminal.c:215:18
        #3 0xe59e77 in f_termopen /home/travis/build/neovim/neovim/src/nvim/eval.c:16380:20
        #4 0xb76afa in call_func /home/travis/build/neovim/neovim/src/nvim/eval.c:7256:21
        #5 0xbae096 in get_func_tv /home/travis/build/neovim/neovim/src/nvim/eval.c:7105:11
        #6 0xb9e700 in ex_call /home/travis/build/neovim/neovim/src/nvim/eval.c:2761:9
        #7 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
        #8 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
        #9 0x13dd51c in do_cmdline_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:274:10
        #10 0x1527f8d in ex_terminal /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:9515:3
        #11 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
        #12 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
        #13 0x138a55d in do_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2611:3
        #14 0x1380347 in cmd_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2323:12
        #15 0x1380853 in ex_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2301:3
        #16 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
        #17 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
        #18 0x13dd51c in do_cmdline_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:274:10
        #19 0x68414a in vim_command /home/travis/build/neovim/neovim/src/nvim/api/vim.c:43:3
        #20 0x599ed9 in handle_vim_command /home/travis/build/neovim/neovim/build/src/nvim/auto/msgpack_dispatch.c:2128:3
        #21 0x23488a5 in on_request_event /home/travis/build/neovim/neovim/src/nvim/msgpack_rpc/channel.c:481:19
        #22 0x118ff42 in queue_process_events /home/travis/build/neovim/neovim/src/nvim/event/queue.c:142:7
        #23 0x25cb680 in nv_event /home/travis/build/neovim/neovim/src/nvim/normal.c:7876:3
        #24 0x249e003 in normal_execute /home/travis/build/neovim/neovim/src/nvim/normal.c:1144:12
        #25 0x3822fb3 in state_enter /home/travis/build/neovim/neovim/src/nvim/state.c:55:26
        #26 0x23e3a34 in normal_enter /home/travis/build/neovim/neovim/src/nvim/normal.c:464:3
        #27 0x1cfcd37 in main /home/travis/build/neovim/neovim/src/nvim/main.c:538:3
        #28 0x2ba0dea5f76c in __libc_start_main /build/eglibc-rrybNj/eglibc-2.15/csu/libc-start.c:226

    Indirect leak of 8000 byte(s) in 1 object(s) allocated from:
        #0 0x4f2252 in malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x4f2252)
        #1 0x20730b5 in try_malloc /home/travis/build/neovim/neovim/src/nvim/memory.c:59:15
        #2 0x2073b01 in xmalloc /home/travis/build/neovim/neovim/src/nvim/memory.c:93:15
        #3 0x3ab496c in terminal_open /home/travis/build/neovim/neovim/src/nvim/terminal.c:257:19
        #4 0xe59e77 in f_termopen /home/travis/build/neovim/neovim/src/nvim/eval.c:16380:20
        #5 0xb76afa in call_func /home/travis/build/neovim/neovim/src/nvim/eval.c:7256:21
        #6 0xbae096 in get_func_tv /home/travis/build/neovim/neovim/src/nvim/eval.c:7105:11
        #7 0xb9e700 in ex_call /home/travis/build/neovim/neovim/src/nvim/eval.c:2761:9
        #8 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
        #9 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
        #10 0x13dd51c in do_cmdline_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:274:10
        #11 0x1527f8d in ex_terminal /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:9515:3
        #12 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
        #13 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
        #14 0x138a55d in do_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2611:3
        #15 0x1380347 in cmd_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2323:12
        #16 0x1380853 in ex_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2301:3
        #17 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
        #18 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
        #19 0x13dd51c in do_cmdline_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:274:10
        #20 0x68414a in vim_command /home/travis/build/neovim/neovim/src/nvim/api/vim.c:43:3
        #21 0x599ed9 in handle_vim_command /home/travis/build/neovim/neovim/build/src/nvim/auto/msgpack_dispatch.c:2128:3
        #22 0x23488a5 in on_request_event /home/travis/build/neovim/neovim/src/nvim/msgpack_rpc/channel.c:481:19
        #23 0x118ff42 in queue_process_events /home/travis/build/neovim/neovim/src/nvim/event/queue.c:142:7
        #24 0x25cb680 in nv_event /home/travis/build/neovim/neovim/src/nvim/normal.c:7876:3
        #25 0x249e003 in normal_execute /home/travis/build/neovim/neovim/src/nvim/normal.c:1144:12
        #26 0x3822fb3 in state_enter /home/travis/build/neovim/neovim/src/nvim/state.c:55:26
        #27 0x23e3a34 in normal_enter /home/travis/build/neovim/neovim/src/nvim/normal.c:464:3
        #28 0x1cfcd37 in main /home/travis/build/neovim/neovim/src/nvim/main.c:538:3
        #29 0x2ba0dea5f76c in __libc_start_main /build/eglibc-rrybNj/eglibc-2.15/csu/libc-start.c:226

    Indirect leak of 4800 byte(s) in 1 object(s) allocated from:
        #0 0x4f2252 in malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x4f2252)
        #1 0x3e37648 in default_malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e37648)
        #2 0x3e36752 in vterm_allocator_malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e36752)
        #3 0x3e2c881 in realloc_buffer (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e2c881)
        #4 0x3e2c834 in vterm_screen_enable_altscreen (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e2c834)
        #5 0x3ab2709 in terminal_open /home/travis/build/neovim/neovim/src/nvim/terminal.c:228:3
        #6 0xe59e77 in f_termopen /home/travis/build/neovim/neovim/src/nvim/eval.c:16380:20
        #7 0xb76afa in call_func /home/travis/build/neovim/neovim/src/nvim/eval.c:7256:21
        #8 0xbae096 in get_func_tv /home/travis/build/neovim/neovim/src/nvim/eval.c:7105:11
        #9 0xb9e700 in ex_call /home/travis/build/neovim/neovim/src/nvim/eval.c:2761:9
        #10 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
        #11 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
        #12 0x13dd51c in do_cmdline_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:274:10
        #13 0x1527f8d in ex_terminal /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:9515:3
        #14 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
        #15 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
        #16 0x138a55d in do_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2611:3
        #17 0x1380347 in cmd_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2323:12
        #18 0x1380853 in ex_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2301:3
        #19 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
        #20 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
        #21 0x13dd51c in do_cmdline_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:274:10
        #22 0x68414a in vim_command /home/travis/build/neovim/neovim/src/nvim/api/vim.c:43:3
        #23 0x599ed9 in handle_vim_command /home/travis/build/neovim/neovim/build/src/nvim/auto/msgpack_dispatch.c:2128:3
        #24 0x23488a5 in on_request_event /home/travis/build/neovim/neovim/src/nvim/msgpack_rpc/channel.c:481:19
        #25 0x118ff42 in queue_process_events /home/travis/build/neovim/neovim/src/nvim/event/queue.c:142:7
        #26 0x25cb680 in nv_event /home/travis/build/neovim/neovim/src/nvim/normal.c:7876:3
        #27 0x249e003 in normal_execute /home/travis/build/neovim/neovim/src/nvim/normal.c:1144:12
        #28 0x3822fb3 in state_enter /home/travis/build/neovim/neovim/src/nvim/state.c:55:26
        #29 0x23e3a34 in normal_enter /home/travis/build/neovim/neovim/src/nvim/normal.c:464:3

    Indirect leak of 4800 byte(s) in 1 object(s) allocated from:
        #0 0x4f2252 in malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x4f2252)
        #1 0x3e37648 in default_malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e37648)
        #2 0x3e36752 in vterm_allocator_malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e36752)
        #3 0x3e2c881 in realloc_buffer (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e2c881)
        #4 0x3e2c76f in screen_new (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e2c76f)
        #5 0x3e2c677 in vterm_obtain_screen (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e2c677)
        #6 0x3ab229f in terminal_open /home/travis/build/neovim/neovim/src/nvim/terminal.c:227:13
        #7 0xe59e77 in f_termopen /home/travis/build/neovim/neovim/src/nvim/eval.c:16380:20
        #8 0xb76afa in call_func /home/travis/build/neovim/neovim/src/nvim/eval.c:7256:21
        #9 0xbae096 in get_func_tv /home/travis/build/neovim/neovim/src/nvim/eval.c:7105:11
        #10 0xb9e700 in ex_call /home/travis/build/neovim/neovim/src/nvim/eval.c:2761:9
        #11 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
        #12 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
        #13 0x13dd51c in do_cmdline_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:274:10
        #14 0x1527f8d in ex_terminal /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:9515:3
        #15 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
        #16 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
        #17 0x138a55d in do_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2611:3
        #18 0x1380347 in cmd_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2323:12
        #19 0x1380853 in ex_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2301:3
        #20 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
        #21 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
        #22 0x13dd51c in do_cmdline_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:274:10
        #23 0x68414a in vim_command /home/travis/build/neovim/neovim/src/nvim/api/vim.c:43:3
        #24 0x599ed9 in handle_vim_command /home/travis/build/neovim/neovim/build/src/nvim/auto/msgpack_dispatch.c:2128:3
        #25 0x23488a5 in on_request_event /home/travis/build/neovim/neovim/src/nvim/msgpack_rpc/channel.c:481:19
        #26 0x118ff42 in queue_process_events /home/travis/build/neovim/neovim/src/nvim/event/queue.c:142:7
        #27 0x25cb680 in nv_event /home/travis/build/neovim/neovim/src/nvim/normal.c:7876:3
        #28 0x249e003 in normal_execute /home/travis/build/neovim/neovim/src/nvim/normal.c:1144:12
        #29 0x3822fb3 in state_enter /home/travis/build/neovim/neovim/src/nvim/state.c:55:26

    Indirect leak of 2000 byte(s) in 1 object(s) allocated from:
        #0 0x4f2252 in malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x4f2252)
        #1 0x3e37648 in default_malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e37648)
        #2 0x3e36752 in vterm_allocator_malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e36752)
        #3 0x3e2c79e in screen_new (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e2c79e)
        #4 0x3e2c677 in vterm_obtain_screen (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e2c677)
        #5 0x3ab229f in terminal_open /home/travis/build/neovim/neovim/src/nvim/terminal.c:227:13
        #6 0xe59e77 in f_termopen /home/travis/build/neovim/neovim/src/nvim/eval.c:16380:20
        #7 0xb76afa in call_func /home/travis/build/neovim/neovim/src/nvim/eval.c:7256:21
        #8 0xbae096 in get_func_tv /home/travis/build/neovim/neovim/src/nvim/eval.c:7105:11
        #9 0xb9e700 in ex_call /home/travis/build/neovim/neovim/src/nvim/eval.c:2761:9
        #10 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
        #11 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
        #12 0x13dd51c in do_cmdline_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:274:10
        #13 0x1527f8d in ex_terminal /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:9515:3
        #14 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
        #15 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
        #16 0x138a55d in do_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2611:3
        #17 0x1380347 in cmd_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2323:12
        #18 0x1380853 in ex_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2301:3
        #19 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
        #20 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
        #21 0x13dd51c in do_cmdline_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:274:10
        #22 0x68414a in vim_command /home/travis/build/neovim/neovim/src/nvim/api/vim.c:43:3
        #23 0x599ed9 in handle_vim_command /home/travis/build/neovim/neovim/build/src/nvim/auto/msgpack_dispatch.c:2128:3
        #24 0x23488a5 in on_request_event /home/travis/build/neovim/neovim/src/nvim/msgpack_rpc/channel.c:481:19
        #25 0x118ff42 in queue_process_events /home/travis/build/neovim/neovim/src/nvim/event/queue.c:142:7
        #26 0x25cb680 in nv_event /home/travis/build/neovim/neovim/src/nvim/normal.c:7876:3
        #27 0x249e003 in normal_execute /home/travis/build/neovim/neovim/src/nvim/normal.c:1144:12
        #28 0x3822fb3 in state_enter /home/travis/build/neovim/neovim/src/nvim/state.c:55:26
        #29 0x23e3a34 in normal_enter /home/travis/build/neovim/neovim/src/nvim/normal.c:464:3

    Indirect leak of 1640 byte(s) in 1 object(s) allocated from:
        #0 0x4f23cb in calloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x4f23cb)
        #1 0x2074608 in xcalloc /home/travis/build/neovim/neovim/src/nvim/memory.c:119:15
        #2 0xea12a6 in common_job_init /home/travis/build/neovim/neovim/src/nvim/eval.c:21486:27
        #3 0xe55aae in f_termopen /home/travis/build/neovim/neovim/src/nvim/eval.c:16343:27
        #4 0xb76afa in call_func /home/travis/build/neovim/neovim/src/nvim/eval.c:7256:21
        #5 0xbae096 in get_func_tv /home/travis/build/neovim/neovim/src/nvim/eval.c:7105:11
        #6 0xb9e700 in ex_call /home/travis/build/neovim/neovim/src/nvim/eval.c:2761:9
        #7 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
        #8 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
        #9 0x13dd51c in do_cmdline_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:274:10
        #10 0x1527f8d in ex_terminal /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:9515:3
        #11 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
        #12 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
        #13 0x138a55d in do_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2611:3
        #14 0x1380347 in cmd_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2323:12
        #15 0x1380853 in ex_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2301:3
        #16 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
        #17 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
        #18 0x13dd51c in do_cmdline_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:274:10
        #19 0x68414a in vim_command /home/travis/build/neovim/neovim/src/nvim/api/vim.c:43:3
        #20 0x599ed9 in handle_vim_command /home/travis/build/neovim/neovim/build/src/nvim/auto/msgpack_dispatch.c:2128:3
        #21 0x23488a5 in on_request_event /home/travis/build/neovim/neovim/src/nvim/msgpack_rpc/channel.c:481:19
        #22 0x118ff42 in queue_process_events /home/travis/build/neovim/neovim/src/nvim/event/queue.c:142:7
        #23 0x25cb680 in nv_event /home/travis/build/neovim/neovim/src/nvim/normal.c:7876:3
        #24 0x249e003 in normal_execute /home/travis/build/neovim/neovim/src/nvim/normal.c:1144:12
        #25 0x3822fb3 in state_enter /home/travis/build/neovim/neovim/src/nvim/state.c:55:26
        #26 0x23e3a34 in normal_enter /home/travis/build/neovim/neovim/src/nvim/normal.c:464:3
        #27 0x1cfcd37 in main /home/travis/build/neovim/neovim/src/nvim/main.c:538:3
        #28 0x2ba0dea5f76c in __libc_start_main /build/eglibc-rrybNj/eglibc-2.15/csu/libc-start.c:226

    Indirect leak of 384 byte(s) in 1 object(s) allocated from:
        #0 0x4f2252 in malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x4f2252)
        #1 0x3e37648 in default_malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e37648)
        #2 0x3e36752 in vterm_allocator_malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e36752)
        #3 0x3e2f18b in vterm_state_new (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e2f18b)
        #4 0x3e2f047 in vterm_obtain_state (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e2f047)
        #5 0x3ab2031 in terminal_open /home/travis/build/neovim/neovim/src/nvim/terminal.c:225:23
        #6 0xe59e77 in f_termopen /home/travis/build/neovim/neovim/src/nvim/eval.c:16380:20
        #7 0xb76afa in call_func /home/travis/build/neovim/neovim/src/nvim/eval.c:7256:21
        #8 0xbae096 in get_func_tv /home/travis/build/neovim/neovim/src/nvim/eval.c:7105:11
        #9 0xb9e700 in ex_call /home/travis/build/neovim/neovim/src/nvim/eval.c:2761:9
        #10 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
        #11 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
        #12 0x13dd51c in do_cmdline_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:274:10
        #13 0x1527f8d in ex_terminal /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:9515:3
        #14 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
        #15 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
        #16 0x138a55d in do_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2611:3
        #17 0x1380347 in cmd_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2323:12
        #18 0x1380853 in ex_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2301:3
        #19 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
        #20 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
        #21 0x13dd51c in do_cmdline_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:274:10
        #22 0x68414a in vim_command /home/travis/build/neovim/neovim/src/nvim/api/vim.c:43:3
        #23 0x599ed9 in handle_vim_command /home/travis/build/neovim/neovim/build/src/nvim/auto/msgpack_dispatch.c:2128:3
        #24 0x23488a5 in on_request_event /home/travis/build/neovim/neovim/src/nvim/msgpack_rpc/channel.c:481:19
        #25 0x118ff42 in queue_process_events /home/travis/build/neovim/neovim/src/nvim/event/queue.c:142:7
        #26 0x25cb680 in nv_event /home/travis/build/neovim/neovim/src/nvim/normal.c:7876:3
        #27 0x249e003 in normal_execute /home/travis/build/neovim/neovim/src/nvim/normal.c:1144:12
        #28 0x3822fb3 in state_enter /home/travis/build/neovim/neovim/src/nvim/state.c:55:26
        #29 0x23e3a34 in normal_enter /home/travis/build/neovim/neovim/src/nvim/normal.c:464:3

    Indirect leak of 128 byte(s) in 1 object(s) allocated from:
        #0 0x4f2252 in malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x4f2252)
        #1 0x3e37648 in default_malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e37648)
        #2 0x3e36752 in vterm_allocator_malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e36752)
        #3 0x3e2c6e3 in screen_new (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e2c6e3)
        #4 0x3e2c677 in vterm_obtain_screen (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e2c677)
        #5 0x3ab229f in terminal_open /home/travis/build/neovim/neovim/src/nvim/terminal.c:227:13
        #6 0xe59e77 in f_termopen /home/travis/build/neovim/neovim/src/nvim/eval.c:16380:20
        #7 0xb76afa in call_func /home/travis/build/neovim/neovim/src/nvim/eval.c:7256:21
        #8 0xbae096 in get_func_tv /home/travis/build/neovim/neovim/src/nvim/eval.c:7105:11
        #9 0xb9e700 in ex_call /home/travis/build/neovim/neovim/src/nvim/eval.c:2761:9
        #10 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
        #11 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
        #12 0x13dd51c in do_cmdline_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:274:10
        #13 0x1527f8d in ex_terminal /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:9515:3
        #14 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
        #15 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
        #16 0x138a55d in do_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2611:3
        #17 0x1380347 in cmd_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2323:12
        #18 0x1380853 in ex_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2301:3
        #19 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
        #20 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
        #21 0x13dd51c in do_cmdline_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:274:10
        #22 0x68414a in vim_command /home/travis/build/neovim/neovim/src/nvim/api/vim.c:43:3
        #23 0x599ed9 in handle_vim_command /home/travis/build/neovim/neovim/build/src/nvim/auto/msgpack_dispatch.c:2128:3
        #24 0x23488a5 in on_request_event /home/travis/build/neovim/neovim/src/nvim/msgpack_rpc/channel.c:481:19
        #25 0x118ff42 in queue_process_events /home/travis/build/neovim/neovim/src/nvim/event/queue.c:142:7
        #26 0x25cb680 in nv_event /home/travis/build/neovim/neovim/src/nvim/normal.c:7876:3
        #27 0x249e003 in normal_execute /home/travis/build/neovim/neovim/src/nvim/normal.c:1144:12
        #28 0x3822fb3 in state_enter /home/travis/build/neovim/neovim/src/nvim/state.c:55:26
        #29 0x23e3a34 in normal_enter /home/travis/build/neovim/neovim/src/nvim/normal.c:464:3

    Indirect leak of 112 byte(s) in 1 object(s) allocated from:
        #0 0x4f2252 in malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x4f2252)
        #1 0x3e37648 in default_malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e37648)
        #2 0x3e3665d in vterm_new_with_allocator (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e3665d)
        #3 0x3e36623 in vterm_new (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e36623)
        #4 0x3ab199a in terminal_open /home/travis/build/neovim/neovim/src/nvim/terminal.c:222:12
        #5 0xe59e77 in f_termopen /home/travis/build/neovim/neovim/src/nvim/eval.c:16380:20
        #6 0xb76afa in call_func /home/travis/build/neovim/neovim/src/nvim/eval.c:7256:21
        #7 0xbae096 in get_func_tv /home/travis/build/neovim/neovim/src/nvim/eval.c:7105:11
        #8 0xb9e700 in ex_call /home/travis/build/neovim/neovim/src/nvim/eval.c:2761:9
        #9 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
        #10 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
        #11 0x13dd51c in do_cmdline_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:274:10
        #12 0x1527f8d in ex_terminal /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:9515:3
        #13 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
        #14 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
        #15 0x138a55d in do_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2611:3
        #16 0x1380347 in cmd_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2323:12
        #17 0x1380853 in ex_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2301:3
        #18 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
        #19 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
        #20 0x13dd51c in do_cmdline_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:274:10
        #21 0x68414a in vim_command /home/travis/build/neovim/neovim/src/nvim/api/vim.c:43:3
        #22 0x599ed9 in handle_vim_command /home/travis/build/neovim/neovim/build/src/nvim/auto/msgpack_dispatch.c:2128:3
        #23 0x23488a5 in on_request_event /home/travis/build/neovim/neovim/src/nvim/msgpack_rpc/channel.c:481:19
        #24 0x118ff42 in queue_process_events /home/travis/build/neovim/neovim/src/nvim/event/queue.c:142:7
        #25 0x25cb680 in nv_event /home/travis/build/neovim/neovim/src/nvim/normal.c:7876:3
        #26 0x249e003 in normal_execute /home/travis/build/neovim/neovim/src/nvim/normal.c:1144:12
        #27 0x3822fb3 in state_enter /home/travis/build/neovim/neovim/src/nvim/state.c:55:26
        #28 0x23e3a34 in normal_enter /home/travis/build/neovim/neovim/src/nvim/normal.c:464:3
        #29 0x1cfcd37 in main /home/travis/build/neovim/neovim/src/nvim/main.c:538:3

    Indirect leak of 64 byte(s) in 1 object(s) allocated from:
        #0 0x4f2252 in malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x4f2252)
        #1 0x3e37648 in default_malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e37648)
        #2 0x3e36752 in vterm_allocator_malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e36752)
        #3 0x3e366dc in vterm_new_with_allocator (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e366dc)
        #4 0x3e36623 in vterm_new (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e36623)
        #5 0x3ab199a in terminal_open /home/travis/build/neovim/neovim/src/nvim/terminal.c:222:12
        #6 0xe59e77 in f_termopen /home/travis/build/neovim/neovim/src/nvim/eval.c:16380:20
        #7 0xb76afa in call_func /home/travis/build/neovim/neovim/src/nvim/eval.c:7256:21
        #8 0xbae096 in get_func_tv /home/travis/build/neovim/neovim/src/nvim/eval.c:7105:11
        #9 0xb9e700 in ex_call /home/travis/build/neovim/neovim/src/nvim/eval.c:2761:9
        #10 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
        #11 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
        #12 0x13dd51c in do_cmdline_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:274:10
        #13 0x1527f8d in ex_terminal /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:9515:3
        #14 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
        #15 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
        #16 0x138a55d in do_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2611:3
        #17 0x1380347 in cmd_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2323:12
        #18 0x1380853 in ex_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2301:3
        #19 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
        #20 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
        #21 0x13dd51c in do_cmdline_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:274:10
        #22 0x68414a in vim_command /home/travis/build/neovim/neovim/src/nvim/api/vim.c:43:3
        #23 0x599ed9 in handle_vim_command /home/travis/build/neovim/neovim/build/src/nvim/auto/msgpack_dispatch.c:2128:3
        #24 0x23488a5 in on_request_event /home/travis/build/neovim/neovim/src/nvim/msgpack_rpc/channel.c:481:19
        #25 0x118ff42 in queue_process_events /home/travis/build/neovim/neovim/src/nvim/event/queue.c:142:7
        #26 0x25cb680 in nv_event /home/travis/build/neovim/neovim/src/nvim/normal.c:7876:3
        #27 0x249e003 in normal_execute /home/travis/build/neovim/neovim/src/nvim/normal.c:1144:12
        #28 0x3822fb3 in state_enter /home/travis/build/neovim/neovim/src/nvim/state.c:55:26
        #29 0x23e3a34 in normal_enter /home/travis/build/neovim/neovim/src/nvim/normal.c:464:3

    Indirect leak of 64 byte(s) in 1 object(s) allocated from:
        #0 0x4f2252 in malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x4f2252)
        #1 0x3e37648 in default_malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e37648)
        #2 0x3e36752 in vterm_allocator_malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e36752)
        #3 0x3e3670d in vterm_new_with_allocator (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e3670d)
        #4 0x3e36623 in vterm_new (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e36623)
        #5 0x3ab199a in terminal_open /home/travis/build/neovim/neovim/src/nvim/terminal.c:222:12
        #6 0xe59e77 in f_termopen /home/travis/build/neovim/neovim/src/nvim/eval.c:16380:20
        #7 0xb76afa in call_func /home/travis/build/neovim/neovim/src/nvim/eval.c:7256:21
        #8 0xbae096 in get_func_tv /home/travis/build/neovim/neovim/src/nvim/eval.c:7105:11
        #9 0xb9e700 in ex_call /home/travis/build/neovim/neovim/src/nvim/eval.c:2761:9
        #10 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
        #11 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
        #12 0x13dd51c in do_cmdline_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:274:10
        #13 0x1527f8d in ex_terminal /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:9515:3
        #14 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
        #15 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
        #16 0x138a55d in do_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2611:3
        #17 0x1380347 in cmd_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2323:12
        #18 0x1380853 in ex_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2301:3
        #19 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
        #20 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
        #21 0x13dd51c in do_cmdline_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:274:10
        #22 0x68414a in vim_command /home/travis/build/neovim/neovim/src/nvim/api/vim.c:43:3
        #23 0x599ed9 in handle_vim_command /home/travis/build/neovim/neovim/build/src/nvim/auto/msgpack_dispatch.c:2128:3
        #24 0x23488a5 in on_request_event /home/travis/build/neovim/neovim/src/nvim/msgpack_rpc/channel.c:481:19
        #25 0x118ff42 in queue_process_events /home/travis/build/neovim/neovim/src/nvim/event/queue.c:142:7
        #26 0x25cb680 in nv_event /home/travis/build/neovim/neovim/src/nvim/normal.c:7876:3
        #27 0x249e003 in normal_execute /home/travis/build/neovim/neovim/src/nvim/normal.c:1144:12
        #28 0x3822fb3 in state_enter /home/travis/build/neovim/neovim/src/nvim/state.c:55:26
        #29 0x23e3a34 in normal_enter /home/travis/build/neovim/neovim/src/nvim/normal.c:464:3

    Indirect leak of 64 byte(s) in 1 object(s) allocated from:
        #0 0x4f2252 in malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x4f2252)
        #1 0x3e37648 in default_malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e37648)
        #2 0x3e36752 in vterm_allocator_malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e36752)
        #3 0x3e2f084 in vterm_obtain_state (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e2f084)
        #4 0x3ab2031 in terminal_open /home/travis/build/neovim/neovim/src/nvim/terminal.c:225:23
        #5 0xe59e77 in f_termopen /home/travis/build/neovim/neovim/src/nvim/eval.c:16380:20
        #6 0xb76afa in call_func /home/travis/build/neovim/neovim/src/nvim/eval.c:7256:21
        #7 0xbae096 in get_func_tv /home/travis/build/neovim/neovim/src/nvim/eval.c:7105:11
        #8 0xb9e700 in ex_call /home/travis/build/neovim/neovim/src/nvim/eval.c:2761:9
        #9 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
        #10 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
        #11 0x13dd51c in do_cmdline_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:274:10
        #12 0x1527f8d in ex_terminal /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:9515:3
        #13 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
        #14 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
        #15 0x138a55d in do_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2611:3
        #16 0x1380347 in cmd_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2323:12
        #17 0x1380853 in ex_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2301:3
        #18 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
        #19 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
        #20 0x13dd51c in do_cmdline_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:274:10
        #21 0x68414a in vim_command /home/travis/build/neovim/neovim/src/nvim/api/vim.c:43:3
        #22 0x599ed9 in handle_vim_command /home/travis/build/neovim/neovim/build/src/nvim/auto/msgpack_dispatch.c:2128:3
        #23 0x23488a5 in on_request_event /home/travis/build/neovim/neovim/src/nvim/msgpack_rpc/channel.c:481:19
        #24 0x118ff42 in queue_process_events /home/travis/build/neovim/neovim/src/nvim/event/queue.c:142:7
        #25 0x25cb680 in nv_event /home/travis/build/neovim/neovim/src/nvim/normal.c:7876:3
        #26 0x249e003 in normal_execute /home/travis/build/neovim/neovim/src/nvim/normal.c:1144:12
        #27 0x3822fb3 in state_enter /home/travis/build/neovim/neovim/src/nvim/state.c:55:26
        #28 0x23e3a34 in normal_enter /home/travis/build/neovim/neovim/src/nvim/normal.c:464:3
        #29 0x1cfcd37 in main /home/travis/build/neovim/neovim/src/nvim/main.c:538:3

    Indirect leak of 40 byte(s) in 1 object(s) allocated from:
        #0 0x4f2252 in malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x4f2252)
        #1 0x20730b5 in try_malloc /home/travis/build/neovim/neovim/src/nvim/memory.c:59:15
        #2 0x2073b01 in xmalloc /home/travis/build/neovim/neovim/src/nvim/memory.c:93:15
        #3 0x117eb39 in queue_new /home/travis/build/neovim/neovim/src/nvim/event/queue.c:97:15
        #4 0x117fe77 in queue_new_child /home/travis/build/neovim/neovim/src/nvim/event/queue.c:92:10
        #5 0xea2077 in common_job_init /home/travis/build/neovim/neovim/src/nvim/eval.c:21492:18
        #6 0xe55aae in f_termopen /home/travis/build/neovim/neovim/src/nvim/eval.c:16343:27
        #7 0xb76afa in call_func /home/travis/build/neovim/neovim/src/nvim/eval.c:7256:21
        #8 0xbae096 in get_func_tv /home/travis/build/neovim/neovim/src/nvim/eval.c:7105:11
        #9 0xb9e700 in ex_call /home/travis/build/neovim/neovim/src/nvim/eval.c:2761:9
        #10 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
        #11 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
        #12 0x13dd51c in do_cmdline_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:274:10
        #13 0x1527f8d in ex_terminal /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:9515:3
        #14 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
        #15 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
        #16 0x138a55d in do_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2611:3
        #17 0x1380347 in cmd_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2323:12
        #18 0x1380853 in ex_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2301:3
        #19 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
        #20 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
        #21 0x13dd51c in do_cmdline_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:274:10
        #22 0x68414a in vim_command /home/travis/build/neovim/neovim/src/nvim/api/vim.c:43:3
        #23 0x599ed9 in handle_vim_command /home/travis/build/neovim/neovim/build/src/nvim/auto/msgpack_dispatch.c:2128:3
        #24 0x23488a5 in on_request_event /home/travis/build/neovim/neovim/src/nvim/msgpack_rpc/channel.c:481:19
        #25 0x118ff42 in queue_process_events /home/travis/build/neovim/neovim/src/nvim/event/queue.c:142:7
        #26 0x25cb680 in nv_event /home/travis/build/neovim/neovim/src/nvim/normal.c:7876:3
        #27 0x249e003 in normal_execute /home/travis/build/neovim/neovim/src/nvim/normal.c:1144:12
        #28 0x3822fb3 in state_enter /home/travis/build/neovim/neovim/src/nvim/state.c:55:26
        #29 0x23e3a34 in normal_enter /home/travis/build/neovim/neovim/src/nvim/normal.c:464:3

    Indirect leak of 12 byte(s) in 1 object(s) allocated from:
        #0 0x4f2252 in malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x4f2252)
        #1 0x3e37648 in default_malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e37648)
        #2 0x3e36752 in vterm_allocator_malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e36752)
        #3 0x3e2f0d5 in vterm_obtain_state (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e2f0d5)
        #4 0x3ab2031 in terminal_open /home/travis/build/neovim/neovim/src/nvim/terminal.c:225:23
        #5 0xe59e77 in f_termopen /home/travis/build/neovim/neovim/src/nvim/eval.c:16380:20
        #6 0xb76afa in call_func /home/travis/build/neovim/neovim/src/nvim/eval.c:7256:21
        #7 0xbae096 in get_func_tv /home/travis/build/neovim/neovim/src/nvim/eval.c:7105:11
        #8 0xb9e700 in ex_call /home/travis/build/neovim/neovim/src/nvim/eval.c:2761:9
        #9 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
        #10 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
        #11 0x13dd51c in do_cmdline_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:274:10
        #12 0x1527f8d in ex_terminal /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:9515:3
        #13 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
        #14 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
        #15 0x138a55d in do_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2611:3
        #16 0x1380347 in cmd_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2323:12
        #17 0x1380853 in ex_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2301:3
        #18 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
        #19 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
        #20 0x13dd51c in do_cmdline_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:274:10
        #21 0x68414a in vim_command /home/travis/build/neovim/neovim/src/nvim/api/vim.c:43:3
        #22 0x599ed9 in handle_vim_command /home/travis/build/neovim/neovim/build/src/nvim/auto/msgpack_dispatch.c:2128:3
        #23 0x23488a5 in on_request_event /home/travis/build/neovim/neovim/src/nvim/msgpack_rpc/channel.c:481:19
        #24 0x118ff42 in queue_process_events /home/travis/build/neovim/neovim/src/nvim/event/queue.c:142:7
        #25 0x25cb680 in nv_event /home/travis/build/neovim/neovim/src/nvim/normal.c:7876:3
        #26 0x249e003 in normal_execute /home/travis/build/neovim/neovim/src/nvim/normal.c:1144:12
        #27 0x3822fb3 in state_enter /home/travis/build/neovim/neovim/src/nvim/state.c:55:26
        #28 0x23e3a34 in normal_enter /home/travis/build/neovim/neovim/src/nvim/normal.c:464:3
        #29 0x1cfcd37 in main /home/travis/build/neovim/neovim/src/nvim/main.c:538:3

    Indirect leak of 7 byte(s) in 1 object(s) allocated from:
        #0 0x4f2252 in malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x4f2252)
        #1 0x3e37648 in default_malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e37648)
        #2 0x3e36752 in vterm_allocator_malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e36752)
        #3 0x3e2f0b2 in vterm_obtain_state (/home/travis/build/neovim/neovim/build/bin/nvim+0x3e2f0b2)
        #4 0x3ab2031 in terminal_open /home/travis/build/neovim/neovim/src/nvim/terminal.c:225:23
        #5 0xe59e77 in f_termopen /home/travis/build/neovim/neovim/src/nvim/eval.c:16380:20
        #6 0xb76afa in call_func /home/travis/build/neovim/neovim/src/nvim/eval.c:7256:21
        #7 0xbae096 in get_func_tv /home/travis/build/neovim/neovim/src/nvim/eval.c:7105:11
        #8 0xb9e700 in ex_call /home/travis/build/neovim/neovim/src/nvim/eval.c:2761:9
        #9 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
        #10 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
        #11 0x13dd51c in do_cmdline_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:274:10
        #12 0x1527f8d in ex_terminal /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:9515:3
        #13 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
        #14 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
        #15 0x138a55d in do_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2611:3
        #16 0x1380347 in cmd_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2323:12
        #17 0x1380853 in ex_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2301:3
        #18 0x141c2e0 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2191:15
        #19 0x13ce683 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:601:20
        #20 0x13dd51c in do_cmdline_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:274:10
        #21 0x68414a in vim_command /home/travis/build/neovim/neovim/src/nvim/api/vim.c:43:3
        #22 0x599ed9 in handle_vim_command /home/travis/build/neovim/neovim/build/src/nvim/auto/msgpack_dispatch.c:2128:3
        #23 0x23488a5 in on_request_event /home/travis/build/neovim/neovim/src/nvim/msgpack_rpc/channel.c:481:19
        #24 0x118ff42 in queue_process_events /home/travis/build/neovim/neovim/src/nvim/event/queue.c:142:7
        #25 0x25cb680 in nv_event /home/travis/build/neovim/neovim/src/nvim/normal.c:7876:3
        #26 0x249e003 in normal_execute /home/travis/build/neovim/neovim/src/nvim/normal.c:1144:12
        #27 0x3822fb3 in state_enter /home/travis/build/neovim/neovim/src/nvim/state.c:55:26
        #28 0x23e3a34 in normal_enter /home/travis/build/neovim/neovim/src/nvim/normal.c:464:3
        #29 0x1cfcd37 in main /home/travis/build/neovim/neovim/src/nvim/main.c:538:3

    SUMMARY: AddressSanitizer: 30443 byte(s) leaked in 15 allocation(s).
```
cryptomilk added a commit to cryptomilk/neovim that referenced this pull request Mar 25, 2023
Thread no. 1 (24 frames)
 neovim#8 snprintf at /usr/include/bits/stdio2.h:54
 neovim#9 set_cmdarg at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/eval.c:7044
 neovim#10 apply_autocmds_group at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/autocmd.c:1843
 neovim#11 apply_autocmds_exarg at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/autocmd.c:1549
 neovim#12 readfile at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/fileio.c:617
 neovim#13 buf_reload at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/fileio.c:5038
 neovim#14 buf_check_timestamp at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/fileio.c:4952
 neovim#15 check_timestamps at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/fileio.c:4678
 neovim#16 ex_checktime at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/ex_cmds2.c:765
 neovim#17 execute_cmd0 at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/ex_docmd.c:1620
 neovim#18 do_one_cmd at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/ex_docmd.c:2275
 neovim#19 do_cmdline at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/ex_docmd.c:584
 neovim#20 ex_execute at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/eval.c:7727
 neovim#21 execute_cmd0 at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/ex_docmd.c:1620
 neovim#22 do_one_cmd at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/ex_docmd.c:2275
 neovim#23 do_cmdline at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/ex_docmd.c:584
 neovim#24 do_ucmd at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/usercmd.c:1661
 neovim#25 execute_cmd0 at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/ex_docmd.c:1612
 neovim#26 do_one_cmd at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/ex_docmd.c:2275
 neovim#27 do_cmdline at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/ex_docmd.c:584
 neovim#28 nv_colon at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/normal.c:4058
 neovim#29 normal_execute at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/normal.c:1172
 neovim#30 state_enter at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/state.c:88
 neovim#31 normal_enter at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/normal.c:471

Signed-off-by: Andreas Schneider <asn@cryptomilk.org>
cryptomilk added a commit to cryptomilk/neovim that referenced this pull request Mar 25, 2023
Thread no. 1 (24 frames)
 neovim#8 snprintf at /usr/include/bits/stdio2.h:54
 neovim#9 set_cmdarg at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/eval.c:7044
 neovim#10 apply_autocmds_group at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/autocmd.c:1843
 neovim#11 apply_autocmds_exarg at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/autocmd.c:1549
 neovim#12 readfile at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/fileio.c:617
 neovim#13 buf_reload at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/fileio.c:5038
 neovim#14 buf_check_timestamp at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/fileio.c:4952
 neovim#15 check_timestamps at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/fileio.c:4678
 neovim#16 ex_checktime at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/ex_cmds2.c:765
 neovim#17 execute_cmd0 at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/ex_docmd.c:1620
 neovim#18 do_one_cmd at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/ex_docmd.c:2275
 neovim#19 do_cmdline at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/ex_docmd.c:584
 neovim#20 ex_execute at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/eval.c:7727
 neovim#21 execute_cmd0 at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/ex_docmd.c:1620
 neovim#22 do_one_cmd at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/ex_docmd.c:2275
 neovim#23 do_cmdline at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/ex_docmd.c:584
 neovim#24 do_ucmd at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/usercmd.c:1661
 neovim#25 execute_cmd0 at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/ex_docmd.c:1612
 neovim#26 do_one_cmd at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/ex_docmd.c:2275
 neovim#27 do_cmdline at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/ex_docmd.c:584
 neovim#28 nv_colon at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/normal.c:4058
 neovim#29 normal_execute at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/normal.c:1172
 neovim#30 state_enter at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/state.c:88
 neovim#31 normal_enter at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/normal.c:471

Signed-off-by: Andreas Schneider <asn@cryptomilk.org>
cryptomilk added a commit to cryptomilk/neovim that referenced this pull request Mar 25, 2023
Thread no. 1 (24 frames)
 neovim#8 snprintf at /usr/include/bits/stdio2.h:54
 neovim#9 set_cmdarg at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/eval.c:7044
 neovim#10 apply_autocmds_group at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/autocmd.c:1843
 neovim#11 apply_autocmds_exarg at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/autocmd.c:1549
 neovim#12 readfile at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/fileio.c:617
 neovim#13 buf_reload at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/fileio.c:5038
 neovim#14 buf_check_timestamp at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/fileio.c:4952
 neovim#15 check_timestamps at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/fileio.c:4678
 neovim#16 ex_checktime at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/ex_cmds2.c:765
 neovim#17 execute_cmd0 at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/ex_docmd.c:1620
 neovim#18 do_one_cmd at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/ex_docmd.c:2275
 neovim#19 do_cmdline at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/ex_docmd.c:584
 neovim#20 ex_execute at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/eval.c:7727
 neovim#21 execute_cmd0 at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/ex_docmd.c:1620
 neovim#22 do_one_cmd at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/ex_docmd.c:2275
 neovim#23 do_cmdline at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/ex_docmd.c:584
 neovim#24 do_ucmd at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/usercmd.c:1661
 neovim#25 execute_cmd0 at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/ex_docmd.c:1612
 neovim#26 do_one_cmd at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/ex_docmd.c:2275
 neovim#27 do_cmdline at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/ex_docmd.c:584
 neovim#28 nv_colon at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/normal.c:4058
 neovim#29 normal_execute at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/normal.c:1172
 neovim#30 state_enter at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/state.c:88
 neovim#31 normal_enter at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/normal.c:471

Signed-off-by: Andreas Schneider <asn@cryptomilk.org>
cryptomilk added a commit to cryptomilk/neovim that referenced this pull request Mar 25, 2023
Thread no. 1 (24 frames)
 neovim#8 snprintf at /usr/include/bits/stdio2.h:54
 neovim#9 set_cmdarg at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/eval.c:7044
 neovim#10 apply_autocmds_group at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/autocmd.c:1843
 neovim#11 apply_autocmds_exarg at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/autocmd.c:1549
 neovim#12 readfile at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/fileio.c:617
 neovim#13 buf_reload at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/fileio.c:5038
 neovim#14 buf_check_timestamp at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/fileio.c:4952
 neovim#15 check_timestamps at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/fileio.c:4678
 neovim#16 ex_checktime at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/ex_cmds2.c:765
 neovim#17 execute_cmd0 at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/ex_docmd.c:1620
 neovim#18 do_one_cmd at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/ex_docmd.c:2275
 neovim#19 do_cmdline at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/ex_docmd.c:584
 neovim#20 ex_execute at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/eval.c:7727
 neovim#21 execute_cmd0 at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/ex_docmd.c:1620
 neovim#22 do_one_cmd at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/ex_docmd.c:2275
 neovim#23 do_cmdline at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/ex_docmd.c:584
 neovim#24 do_ucmd at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/usercmd.c:1661
 neovim#25 execute_cmd0 at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/ex_docmd.c:1612
 neovim#26 do_one_cmd at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/ex_docmd.c:2275
 neovim#27 do_cmdline at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/ex_docmd.c:584
 neovim#28 nv_colon at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/normal.c:4058
 neovim#29 normal_execute at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/normal.c:1172
 neovim#30 state_enter at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/state.c:88
 neovim#31 normal_enter at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/normal.c:471

Signed-off-by: Andreas Schneider <asn@cryptomilk.org>
cryptomilk added a commit to cryptomilk/neovim that referenced this pull request Mar 25, 2023
Thread no. 1 (24 frames)
 neovim#8 snprintf at /usr/include/bits/stdio2.h:54
 neovim#9 set_cmdarg at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/eval.c:7044
 neovim#10 apply_autocmds_group at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/autocmd.c:1843
 neovim#11 apply_autocmds_exarg at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/autocmd.c:1549
 neovim#12 readfile at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/fileio.c:617
 neovim#13 buf_reload at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/fileio.c:5038
 neovim#14 buf_check_timestamp at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/fileio.c:4952
 neovim#15 check_timestamps at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/fileio.c:4678
 neovim#16 ex_checktime at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/ex_cmds2.c:765
 neovim#17 execute_cmd0 at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/ex_docmd.c:1620
 neovim#18 do_one_cmd at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/ex_docmd.c:2275
 neovim#19 do_cmdline at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/ex_docmd.c:584
 neovim#20 ex_execute at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/eval.c:7727
 neovim#21 execute_cmd0 at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/ex_docmd.c:1620
 neovim#22 do_one_cmd at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/ex_docmd.c:2275
 neovim#23 do_cmdline at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/ex_docmd.c:584
 neovim#24 do_ucmd at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/usercmd.c:1661
 neovim#25 execute_cmd0 at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/ex_docmd.c:1612
 neovim#26 do_one_cmd at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/ex_docmd.c:2275
 neovim#27 do_cmdline at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/ex_docmd.c:584
 neovim#28 nv_colon at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/normal.c:4058
 neovim#29 normal_execute at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/normal.c:1172
 neovim#30 state_enter at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/state.c:88
 neovim#31 normal_enter at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/normal.c:471

Signed-off-by: Andreas Schneider <asn@cryptomilk.org>
cryptomilk added a commit to cryptomilk/neovim that referenced this pull request Mar 25, 2023
Thread no. 1 (24 frames)
 neovim#8 snprintf at /usr/include/bits/stdio2.h:54
 neovim#9 set_cmdarg at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/eval.c:7044
 neovim#10 apply_autocmds_group at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/autocmd.c:1843
 neovim#11 apply_autocmds_exarg at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/autocmd.c:1549
 neovim#12 readfile at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/fileio.c:617
 neovim#13 buf_reload at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/fileio.c:5038
 neovim#14 buf_check_timestamp at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/fileio.c:4952
 neovim#15 check_timestamps at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/fileio.c:4678
 neovim#16 ex_checktime at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/ex_cmds2.c:765
 neovim#17 execute_cmd0 at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/ex_docmd.c:1620
 neovim#18 do_one_cmd at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/ex_docmd.c:2275
 neovim#19 do_cmdline at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/ex_docmd.c:584
 neovim#20 ex_execute at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/eval.c:7727
 neovim#21 execute_cmd0 at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/ex_docmd.c:1620
 neovim#22 do_one_cmd at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/ex_docmd.c:2275
 neovim#23 do_cmdline at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/ex_docmd.c:584
 neovim#24 do_ucmd at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/usercmd.c:1661
 neovim#25 execute_cmd0 at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/ex_docmd.c:1612
 neovim#26 do_one_cmd at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/ex_docmd.c:2275
 neovim#27 do_cmdline at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/ex_docmd.c:584
 neovim#28 nv_colon at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/normal.c:4058
 neovim#29 normal_execute at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/normal.c:1172
 neovim#30 state_enter at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/state.c:88
 neovim#31 normal_enter at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/normal.c:471

Signed-off-by: Andreas Schneider <asn@cryptomilk.org>
cryptomilk added a commit to cryptomilk/neovim that referenced this pull request Mar 25, 2023
Thread no. 1 (24 frames)
 neovim#8 snprintf at /usr/include/bits/stdio2.h:54
 neovim#9 set_cmdarg at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/eval.c:7044
 neovim#10 apply_autocmds_group at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/autocmd.c:1843
 neovim#11 apply_autocmds_exarg at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/autocmd.c:1549
 neovim#12 readfile at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/fileio.c:617
 neovim#13 buf_reload at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/fileio.c:5038
 neovim#14 buf_check_timestamp at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/fileio.c:4952
 neovim#15 check_timestamps at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/fileio.c:4678
 neovim#16 ex_checktime at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/ex_cmds2.c:765
 neovim#17 execute_cmd0 at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/ex_docmd.c:1620
 neovim#18 do_one_cmd at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/ex_docmd.c:2275
 neovim#19 do_cmdline at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/ex_docmd.c:584
 neovim#20 ex_execute at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/eval.c:7727
 neovim#21 execute_cmd0 at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/ex_docmd.c:1620
 neovim#22 do_one_cmd at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/ex_docmd.c:2275
 neovim#23 do_cmdline at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/ex_docmd.c:584
 neovim#24 do_ucmd at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/usercmd.c:1661
 neovim#25 execute_cmd0 at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/ex_docmd.c:1612
 neovim#26 do_one_cmd at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/ex_docmd.c:2275
 neovim#27 do_cmdline at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/ex_docmd.c:584
 neovim#28 nv_colon at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/normal.c:4058
 neovim#29 normal_execute at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/normal.c:1172
 neovim#30 state_enter at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/state.c:88
 neovim#31 normal_enter at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/normal.c:471

Signed-off-by: Andreas Schneider <asn@cryptomilk.org>
zeertzjq pushed a commit that referenced this pull request Mar 26, 2023
Problem:
Wrong buffer size argument passed to snprintf() in set_cmdarg():
	Thread no. 1 (24 frames)
	 #8 snprintf at /usr/include/bits/stdio2.h:54
	 #9 set_cmdarg at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/eval.c:7044
	 #10 apply_autocmds_group at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/autocmd.c:1843
	 #11 apply_autocmds_exarg at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/autocmd.c:1549
	 #12 readfile at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/fileio.c:617
	 #13 buf_reload at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/fileio.c:5038
	 #14 buf_check_timestamp at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/fileio.c:4952
	 #15 check_timestamps at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/fileio.c:4678
	 #16 ex_checktime at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/ex_cmds2.c:765
	 #17 execute_cmd0 at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/ex_docmd.c:1620
	 #18 do_one_cmd at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/ex_docmd.c:2275
	 #19 do_cmdline at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/ex_docmd.c:584
	 #20 ex_execute at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/eval.c:7727
	 #21 execute_cmd0 at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/ex_docmd.c:1620
	 #22 do_one_cmd at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/ex_docmd.c:2275
	 #23 do_cmdline at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/ex_docmd.c:584
	 #24 do_ucmd at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/usercmd.c:1661
	 #25 execute_cmd0 at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/ex_docmd.c:1612
	 #26 do_one_cmd at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/ex_docmd.c:2275
	 #27 do_cmdline at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/ex_docmd.c:584
	 #28 nv_colon at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/normal.c:4058
	 #29 normal_execute at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/normal.c:1172
	 #30 state_enter at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/state.c:88
	 #31 normal_enter at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/normal.c:471

Solution:
Subtract the offset from the buffer size.

Signed-off-by: Andreas Schneider <asn@cryptomilk.org>
cryptomilk added a commit to cryptomilk/neovim that referenced this pull request Mar 27, 2023
Thread no. 1 (24 frames)
 neovim#8 snprintf at /usr/include/bits/stdio2.h:54
 neovim#9 set_cmdarg at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/eval.c:7044
 neovim#10 apply_autocmds_group at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/autocmd.c:1843
 neovim#11 apply_autocmds_exarg at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/autocmd.c:1549
 neovim#12 readfile at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/fileio.c:617
 neovim#13 buf_reload at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/fileio.c:5038
 neovim#14 buf_check_timestamp at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/fileio.c:4952
 neovim#15 check_timestamps at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/fileio.c:4678
 neovim#16 ex_checktime at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/ex_cmds2.c:765
 neovim#17 execute_cmd0 at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/ex_docmd.c:1620
 neovim#18 do_one_cmd at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/ex_docmd.c:2275
 neovim#19 do_cmdline at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/ex_docmd.c:584
 neovim#20 ex_execute at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/eval.c:7727
 neovim#21 execute_cmd0 at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/ex_docmd.c:1620
 neovim#22 do_one_cmd at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/ex_docmd.c:2275
 neovim#23 do_cmdline at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/ex_docmd.c:584
 neovim#24 do_ucmd at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/usercmd.c:1661
 neovim#25 execute_cmd0 at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/ex_docmd.c:1612
 neovim#26 do_one_cmd at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/ex_docmd.c:2275
 neovim#27 do_cmdline at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/ex_docmd.c:584
 neovim#28 nv_colon at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/normal.c:4058
 neovim#29 normal_execute at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/normal.c:1172
 neovim#30 state_enter at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/state.c:88
 neovim#31 normal_enter at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/normal.c:471

Signed-off-by: Andreas Schneider <asn@cryptomilk.org>
craigmac pushed a commit to craigmac/neovim that referenced this pull request Apr 4, 2023
…#22780)

Problem:
Wrong buffer size argument passed to snprintf() in set_cmdarg():
	Thread no. 1 (24 frames)
	 neovim#8 snprintf at /usr/include/bits/stdio2.h:54
	 neovim#9 set_cmdarg at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/eval.c:7044
	 neovim#10 apply_autocmds_group at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/autocmd.c:1843
	 neovim#11 apply_autocmds_exarg at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/autocmd.c:1549
	 neovim#12 readfile at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/fileio.c:617
	 neovim#13 buf_reload at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/fileio.c:5038
	 neovim#14 buf_check_timestamp at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/fileio.c:4952
	 neovim#15 check_timestamps at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/fileio.c:4678
	 neovim#16 ex_checktime at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/ex_cmds2.c:765
	 neovim#17 execute_cmd0 at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/ex_docmd.c:1620
	 neovim#18 do_one_cmd at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/ex_docmd.c:2275
	 neovim#19 do_cmdline at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/ex_docmd.c:584
	 neovim#20 ex_execute at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/eval.c:7727
	 neovim#21 execute_cmd0 at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/ex_docmd.c:1620
	 neovim#22 do_one_cmd at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/ex_docmd.c:2275
	 neovim#23 do_cmdline at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/ex_docmd.c:584
	 neovim#24 do_ucmd at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/usercmd.c:1661
	 neovim#25 execute_cmd0 at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/ex_docmd.c:1612
	 neovim#26 do_one_cmd at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/ex_docmd.c:2275
	 neovim#27 do_cmdline at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/ex_docmd.c:584
	 neovim#28 nv_colon at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/normal.c:4058
	 neovim#29 normal_execute at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/normal.c:1172
	 neovim#30 state_enter at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/state.c:88
	 neovim#31 normal_enter at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/normal.c:471

Solution:
Subtract the offset from the buffer size.

Signed-off-by: Andreas Schneider <asn@cryptomilk.org>
cryptomilk added a commit to cryptomilk/neovim that referenced this pull request Apr 20, 2023
  (gdb) bt
  #0  __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44
  neovim#1  0x00007f3eb8b93c03 in __pthread_kill_internal (signo=6, threadid=<optimized out>) at pthread_kill.c:78
  neovim#2  0x00007f3eb8b42aee in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
  neovim#3  0x00007f3eb8b2b87f in __GI_abort () at abort.c:79
  neovim#4  0x00007f3eb8b2c60f in __libc_message (fmt=fmt@entry=0x7f3eb8ca72e6 "*** %s ***: terminated\n") at ../sysdeps/posix/libc_fatal.c:150
  neovim#5  0x00007f3eb8c27b29 in __GI___fortify_fail (msg=msg@entry=0x7f3eb8ca728c "buffer overflow detected") at fortify_fail.c:24
  neovim#6  0x00007f3eb8c26364 in __GI___chk_fail () at chk_fail.c:28
  neovim#7  0x00007f3eb8c25f45 in ___snprintf_chk (s=s@entry=0x55b8c7c096a5 <IObuff+5> "t' item", maxlen=maxlen@entry=1025, flag=flag@entry=2, slen=slen@entry=1020, format=format@entry=0x55b8c7b872a6 "%ldc") at snprintf_chk.c:29
  neovim#8  0x000055b8c7aea59f in snprintf (__fmt=0x55b8c7b872a6 "%ldc", __n=1025, __s=0x55b8c7c096a5 <IObuff+5> "t' item") at /usr/include/bits/stdio2.h:54
  neovim#9  uc_list (name=name@entry=0x55b8c8351788 "Explore", name_len=name_len@entry=7) at /usr/src/debug/neovim-0.9.0-1.fc38.x86_64/src/nvim/usercmd.c:534
  neovim#10 0x000055b8c7aeb8a0 in ex_command (eap=0x7fffdc350e60) at /usr/src/debug/neovim-0.9.0-1.fc38.x86_64/src/nvim/usercmd.c:1009
  neovim#11 0x000055b8c7972537 in execute_cmd0 (retv=retv@entry=0x7fffdc350e54, eap=eap@entry=0x7fffdc350e60, errormsg=errormsg@entry=0x7fffdc350e58, preview=preview@entry=false) at /usr/src/debug/neovim-0.9.0-1.fc38.x86_64/src/nvim/ex_docmd.c:1620
  neovim#12 0x000055b8c7975c55 in do_one_cmd (cmdlinep=cmdlinep@entry=0x7fffdc3510b8, flags=flags@entry=0, cstack=cstack@entry=0x7fffdc351140, fgetline=fgetline@entry=0x55b8c79882b8 <getexline>, cookie=cookie@entry=0x0) at /usr/src/debug/neovim-0.9.0-1.fc38.x86_64/src/nvim/ex_docmd.c:2279
  neovim#13 0x000055b8c79767fe in do_cmdline (cmdline=<optimized out>, fgetline=0x55b8c79882b8 <getexline>, cookie=0x0, flags=0) at /usr/src/debug/neovim-0.9.0-1.fc38.x86_64/src/nvim/ex_docmd.c:578
  neovim#14 0x000055b8c7a17463 in nv_colon (cap=0x7fffdc351780) at /usr/src/debug/neovim-0.9.0-1.fc38.x86_64/src/nvim/normal.c:3228
  neovim#15 0x000055b8c7a11b35 in normal_execute (state=0x7fffdc351700, key=<optimized out>) at /usr/src/debug/neovim-0.9.0-1.fc38.x86_64/src/nvim/normal.c:1196
  neovim#16 0x000055b8c7ab0994 in state_enter (s=0x7fffdc351700) at /usr/src/debug/neovim-0.9.0-1.fc38.x86_64/src/nvim/state.c:99
  neovim#17 0x000055b8c7a0ef68 in normal_enter (cmdwin=false, noexmode=false) at /usr/src/debug/neovim-0.9.0-1.fc38.x86_64/src/nvim/normal.c:497
  neovim#18 0x000055b8c78a0640 in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/neovim-0.9.0-1.fc38.x86_64/src/nvim/main.c:641
cryptomilk added a commit to cryptomilk/neovim that referenced this pull request Apr 20, 2023
  (gdb) bt
  #0  __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44
  neovim#1  0x00007f3eb8b93c03 in __pthread_kill_internal (signo=6, threadid=<optimized out>) at pthread_kill.c:78
  neovim#2  0x00007f3eb8b42aee in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
  neovim#3  0x00007f3eb8b2b87f in __GI_abort () at abort.c:79
  neovim#4  0x00007f3eb8b2c60f in __libc_message (fmt=fmt@entry=0x7f3eb8ca72e6 "*** %s ***: terminated\n") at ../sysdeps/posix/libc_fatal.c:150
  neovim#5  0x00007f3eb8c27b29 in __GI___fortify_fail (msg=msg@entry=0x7f3eb8ca728c "buffer overflow detected") at fortify_fail.c:24
  neovim#6  0x00007f3eb8c26364 in __GI___chk_fail () at chk_fail.c:28
  neovim#7  0x00007f3eb8c25f45 in ___snprintf_chk (s=s@entry=0x55b8c7c096a5 <IObuff+5> "t' item", maxlen=maxlen@entry=1025, flag=flag@entry=2, slen=slen@entry=1020, format=format@entry=0x55b8c7b872a6 "%ldc") at snprintf_chk.c:29
  neovim#8  0x000055b8c7aea59f in snprintf (__fmt=0x55b8c7b872a6 "%ldc", __n=1025, __s=0x55b8c7c096a5 <IObuff+5> "t' item") at /usr/include/bits/stdio2.h:54
  neovim#9  uc_list (name=name@entry=0x55b8c8351788 "Explore", name_len=name_len@entry=7) at /usr/src/debug/neovim-0.9.0-1.fc38.x86_64/src/nvim/usercmd.c:534
  neovim#10 0x000055b8c7aeb8a0 in ex_command (eap=0x7fffdc350e60) at /usr/src/debug/neovim-0.9.0-1.fc38.x86_64/src/nvim/usercmd.c:1009
  neovim#11 0x000055b8c7972537 in execute_cmd0 (retv=retv@entry=0x7fffdc350e54, eap=eap@entry=0x7fffdc350e60, errormsg=errormsg@entry=0x7fffdc350e58, preview=preview@entry=false) at /usr/src/debug/neovim-0.9.0-1.fc38.x86_64/src/nvim/ex_docmd.c:1620
  neovim#12 0x000055b8c7975c55 in do_one_cmd (cmdlinep=cmdlinep@entry=0x7fffdc3510b8, flags=flags@entry=0, cstack=cstack@entry=0x7fffdc351140, fgetline=fgetline@entry=0x55b8c79882b8 <getexline>, cookie=cookie@entry=0x0) at /usr/src/debug/neovim-0.9.0-1.fc38.x86_64/src/nvim/ex_docmd.c:2279
  neovim#13 0x000055b8c79767fe in do_cmdline (cmdline=<optimized out>, fgetline=0x55b8c79882b8 <getexline>, cookie=0x0, flags=0) at /usr/src/debug/neovim-0.9.0-1.fc38.x86_64/src/nvim/ex_docmd.c:578
  neovim#14 0x000055b8c7a17463 in nv_colon (cap=0x7fffdc351780) at /usr/src/debug/neovim-0.9.0-1.fc38.x86_64/src/nvim/normal.c:3228
  neovim#15 0x000055b8c7a11b35 in normal_execute (state=0x7fffdc351700, key=<optimized out>) at /usr/src/debug/neovim-0.9.0-1.fc38.x86_64/src/nvim/normal.c:1196
  neovim#16 0x000055b8c7ab0994 in state_enter (s=0x7fffdc351700) at /usr/src/debug/neovim-0.9.0-1.fc38.x86_64/src/nvim/state.c:99
  neovim#17 0x000055b8c7a0ef68 in normal_enter (cmdwin=false, noexmode=false) at /usr/src/debug/neovim-0.9.0-1.fc38.x86_64/src/nvim/normal.c:497
  neovim#18 0x000055b8c78a0640 in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/neovim-0.9.0-1.fc38.x86_64/src/nvim/main.c:641
cryptomilk added a commit to cryptomilk/neovim that referenced this pull request Apr 20, 2023
Build with: -Wp,-D_FORTIFY_SOURCE=3 -O1 and gcc 13.

*** buffer overflow detected ***: terminated

(gdb) bt
  #0  __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44
  neovim#1  0x00007f3eb8b93c03 in __pthread_kill_internal (signo=6, threadid=<optimized out>) at pthread_kill.c:78
  neovim#2  0x00007f3eb8b42aee in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
  neovim#3  0x00007f3eb8b2b87f in __GI_abort () at abort.c:79
  neovim#4  0x00007f3eb8b2c60f in __libc_message (fmt=fmt@entry=0x7f3eb8ca72e6 "*** %s ***: terminated\n") at ../sysdeps/posix/libc_fatal.c:150
  neovim#5  0x00007f3eb8c27b29 in __GI___fortify_fail (msg=msg@entry=0x7f3eb8ca728c "buffer overflow detected") at fortify_fail.c:24
  neovim#6  0x00007f3eb8c26364 in __GI___chk_fail () at chk_fail.c:28
  neovim#7  0x00007f3eb8c25f45 in ___snprintf_chk (s=s@entry=0x55b8c7c096a5 <IObuff+5> "t' item", maxlen=maxlen@entry=1025, flag=flag@entry=2, slen=slen@entry=1020, format=format@entry=0x55b8c7b872a6 "%ldc") at snprintf_chk.c:29
  neovim#8  0x000055b8c7aea59f in snprintf (__fmt=0x55b8c7b872a6 "%ldc", __n=1025, __s=0x55b8c7c096a5 <IObuff+5> "t' item") at /usr/include/bits/stdio2.h:54
  neovim#9  uc_list (name=name@entry=0x55b8c8351788 "Explore", name_len=name_len@entry=7) at /usr/src/debug/neovim-0.9.0-1.fc38.x86_64/src/nvim/usercmd.c:534
  neovim#10 0x000055b8c7aeb8a0 in ex_command (eap=0x7fffdc350e60) at /usr/src/debug/neovim-0.9.0-1.fc38.x86_64/src/nvim/usercmd.c:1009
  neovim#11 0x000055b8c7972537 in execute_cmd0 (retv=retv@entry=0x7fffdc350e54, eap=eap@entry=0x7fffdc350e60, errormsg=errormsg@entry=0x7fffdc350e58, preview=preview@entry=false) at /usr/src/debug/neovim-0.9.0-1.fc38.x86_64/src/nvim/ex_docmd.c:1620
  neovim#12 0x000055b8c7975c55 in do_one_cmd (cmdlinep=cmdlinep@entry=0x7fffdc3510b8, flags=flags@entry=0, cstack=cstack@entry=0x7fffdc351140, fgetline=fgetline@entry=0x55b8c79882b8 <getexline>, cookie=cookie@entry=0x0) at /usr/src/debug/neovim-0.9.0-1.fc38.x86_64/src/nvim/ex_docmd.c:2279
  neovim#13 0x000055b8c79767fe in do_cmdline (cmdline=<optimized out>, fgetline=0x55b8c79882b8 <getexline>, cookie=0x0, flags=0) at /usr/src/debug/neovim-0.9.0-1.fc38.x86_64/src/nvim/ex_docmd.c:578
  neovim#14 0x000055b8c7a17463 in nv_colon (cap=0x7fffdc351780) at /usr/src/debug/neovim-0.9.0-1.fc38.x86_64/src/nvim/normal.c:3228
  neovim#15 0x000055b8c7a11b35 in normal_execute (state=0x7fffdc351700, key=<optimized out>) at /usr/src/debug/neovim-0.9.0-1.fc38.x86_64/src/nvim/normal.c:1196
  neovim#16 0x000055b8c7ab0994 in state_enter (s=0x7fffdc351700) at /usr/src/debug/neovim-0.9.0-1.fc38.x86_64/src/nvim/state.c:99
  neovim#17 0x000055b8c7a0ef68 in normal_enter (cmdwin=false, noexmode=false) at /usr/src/debug/neovim-0.9.0-1.fc38.x86_64/src/nvim/normal.c:497
  neovim#18 0x000055b8c78a0640 in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/neovim-0.9.0-1.fc38.x86_64/src/nvim/main.c:641
cryptomilk added a commit to cryptomilk/neovim that referenced this pull request Apr 21, 2023
Build with: -Wp,-D_FORTIFY_SOURCE=3 -O1 and gcc 13.

*** buffer overflow detected ***: terminated

(gdb) bt
  #0  __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44
  neovim#1  0x00007f3eb8b93c03 in __pthread_kill_internal (signo=6, threadid=<optimized out>) at pthread_kill.c:78
  neovim#2  0x00007f3eb8b42aee in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
  neovim#3  0x00007f3eb8b2b87f in __GI_abort () at abort.c:79
  neovim#4  0x00007f3eb8b2c60f in __libc_message (fmt=fmt@entry=0x7f3eb8ca72e6 "*** %s ***: terminated\n") at ../sysdeps/posix/libc_fatal.c:150
  neovim#5  0x00007f3eb8c27b29 in __GI___fortify_fail (msg=msg@entry=0x7f3eb8ca728c "buffer overflow detected") at fortify_fail.c:24
  neovim#6  0x00007f3eb8c26364 in __GI___chk_fail () at chk_fail.c:28
  neovim#7  0x00007f3eb8c25f45 in ___snprintf_chk (s=s@entry=0x55b8c7c096a5 <IObuff+5> "t' item", maxlen=maxlen@entry=1025, flag=flag@entry=2, slen=slen@entry=1020, format=format@entry=0x55b8c7b872a6 "%ldc") at snprintf_chk.c:29
  neovim#8  0x000055b8c7aea59f in snprintf (__fmt=0x55b8c7b872a6 "%ldc", __n=1025, __s=0x55b8c7c096a5 <IObuff+5> "t' item") at /usr/include/bits/stdio2.h:54
  neovim#9  uc_list (name=name@entry=0x55b8c8351788 "Explore", name_len=name_len@entry=7) at /usr/src/debug/neovim-0.9.0-1.fc38.x86_64/src/nvim/usercmd.c:534
  neovim#10 0x000055b8c7aeb8a0 in ex_command (eap=0x7fffdc350e60) at /usr/src/debug/neovim-0.9.0-1.fc38.x86_64/src/nvim/usercmd.c:1009
  neovim#11 0x000055b8c7972537 in execute_cmd0 (retv=retv@entry=0x7fffdc350e54, eap=eap@entry=0x7fffdc350e60, errormsg=errormsg@entry=0x7fffdc350e58, preview=preview@entry=false) at /usr/src/debug/neovim-0.9.0-1.fc38.x86_64/src/nvim/ex_docmd.c:1620
  neovim#12 0x000055b8c7975c55 in do_one_cmd (cmdlinep=cmdlinep@entry=0x7fffdc3510b8, flags=flags@entry=0, cstack=cstack@entry=0x7fffdc351140, fgetline=fgetline@entry=0x55b8c79882b8 <getexline>, cookie=cookie@entry=0x0) at /usr/src/debug/neovim-0.9.0-1.fc38.x86_64/src/nvim/ex_docmd.c:2279
  neovim#13 0x000055b8c79767fe in do_cmdline (cmdline=<optimized out>, fgetline=0x55b8c79882b8 <getexline>, cookie=0x0, flags=0) at /usr/src/debug/neovim-0.9.0-1.fc38.x86_64/src/nvim/ex_docmd.c:578
  neovim#14 0x000055b8c7a17463 in nv_colon (cap=0x7fffdc351780) at /usr/src/debug/neovim-0.9.0-1.fc38.x86_64/src/nvim/normal.c:3228
  neovim#15 0x000055b8c7a11b35 in normal_execute (state=0x7fffdc351700, key=<optimized out>) at /usr/src/debug/neovim-0.9.0-1.fc38.x86_64/src/nvim/normal.c:1196
  neovim#16 0x000055b8c7ab0994 in state_enter (s=0x7fffdc351700) at /usr/src/debug/neovim-0.9.0-1.fc38.x86_64/src/nvim/state.c:99
  neovim#17 0x000055b8c7a0ef68 in normal_enter (cmdwin=false, noexmode=false) at /usr/src/debug/neovim-0.9.0-1.fc38.x86_64/src/nvim/normal.c:497
  neovim#18 0x000055b8c78a0640 in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/neovim-0.9.0-1.fc38.x86_64/src/nvim/main.c:641
cryptomilk added a commit to cryptomilk/neovim that referenced this pull request Apr 21, 2023
Build with: -Wp,-D_FORTIFY_SOURCE=3 -O1 and gcc 13.

*** buffer overflow detected ***: terminated

(gdb) bt
  #0  __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44
  neovim#1  0x00007f3eb8b93c03 in __pthread_kill_internal (signo=6, threadid=<optimized out>) at pthread_kill.c:78
  neovim#2  0x00007f3eb8b42aee in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
  neovim#3  0x00007f3eb8b2b87f in __GI_abort () at abort.c:79
  neovim#4  0x00007f3eb8b2c60f in __libc_message (fmt=fmt@entry=0x7f3eb8ca72e6 "*** %s ***: terminated\n") at ../sysdeps/posix/libc_fatal.c:150
  neovim#5  0x00007f3eb8c27b29 in __GI___fortify_fail (msg=msg@entry=0x7f3eb8ca728c "buffer overflow detected") at fortify_fail.c:24
  neovim#6  0x00007f3eb8c26364 in __GI___chk_fail () at chk_fail.c:28
  neovim#7  0x00007f3eb8c25f45 in ___snprintf_chk (s=s@entry=0x55b8c7c096a5 <IObuff+5> "t' item", maxlen=maxlen@entry=1025, flag=flag@entry=2, slen=slen@entry=1020, format=format@entry=0x55b8c7b872a6 "%ldc") at snprintf_chk.c:29
  neovim#8  0x000055b8c7aea59f in snprintf (__fmt=0x55b8c7b872a6 "%ldc", __n=1025, __s=0x55b8c7c096a5 <IObuff+5> "t' item") at /usr/include/bits/stdio2.h:54
  neovim#9  uc_list (name=name@entry=0x55b8c8351788 "Explore", name_len=name_len@entry=7) at /usr/src/debug/neovim-0.9.0-1.fc38.x86_64/src/nvim/usercmd.c:534
  neovim#10 0x000055b8c7aeb8a0 in ex_command (eap=0x7fffdc350e60) at /usr/src/debug/neovim-0.9.0-1.fc38.x86_64/src/nvim/usercmd.c:1009
  neovim#11 0x000055b8c7972537 in execute_cmd0 (retv=retv@entry=0x7fffdc350e54, eap=eap@entry=0x7fffdc350e60, errormsg=errormsg@entry=0x7fffdc350e58, preview=preview@entry=false) at /usr/src/debug/neovim-0.9.0-1.fc38.x86_64/src/nvim/ex_docmd.c:1620
  neovim#12 0x000055b8c7975c55 in do_one_cmd (cmdlinep=cmdlinep@entry=0x7fffdc3510b8, flags=flags@entry=0, cstack=cstack@entry=0x7fffdc351140, fgetline=fgetline@entry=0x55b8c79882b8 <getexline>, cookie=cookie@entry=0x0) at /usr/src/debug/neovim-0.9.0-1.fc38.x86_64/src/nvim/ex_docmd.c:2279
  neovim#13 0x000055b8c79767fe in do_cmdline (cmdline=<optimized out>, fgetline=0x55b8c79882b8 <getexline>, cookie=0x0, flags=0) at /usr/src/debug/neovim-0.9.0-1.fc38.x86_64/src/nvim/ex_docmd.c:578
  neovim#14 0x000055b8c7a17463 in nv_colon (cap=0x7fffdc351780) at /usr/src/debug/neovim-0.9.0-1.fc38.x86_64/src/nvim/normal.c:3228
  neovim#15 0x000055b8c7a11b35 in normal_execute (state=0x7fffdc351700, key=<optimized out>) at /usr/src/debug/neovim-0.9.0-1.fc38.x86_64/src/nvim/normal.c:1196
  neovim#16 0x000055b8c7ab0994 in state_enter (s=0x7fffdc351700) at /usr/src/debug/neovim-0.9.0-1.fc38.x86_64/src/nvim/state.c:99
  neovim#17 0x000055b8c7a0ef68 in normal_enter (cmdwin=false, noexmode=false) at /usr/src/debug/neovim-0.9.0-1.fc38.x86_64/src/nvim/normal.c:497
  neovim#18 0x000055b8c78a0640 in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/neovim-0.9.0-1.fc38.x86_64/src/nvim/main.c:641
cryptomilk added a commit to cryptomilk/neovim that referenced this pull request Apr 21, 2023
Build with: -Wp,-D_FORTIFY_SOURCE=3 -O1 and gcc 13.

*** buffer overflow detected ***: terminated

(gdb) bt
  #0  __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44
  neovim#1  0x00007f3eb8b93c03 in __pthread_kill_internal (signo=6, threadid=<optimized out>) at pthread_kill.c:78
  neovim#2  0x00007f3eb8b42aee in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
  neovim#3  0x00007f3eb8b2b87f in __GI_abort () at abort.c:79
  neovim#4  0x00007f3eb8b2c60f in __libc_message (fmt=fmt@entry=0x7f3eb8ca72e6 "*** %s ***: terminated\n") at ../sysdeps/posix/libc_fatal.c:150
  neovim#5  0x00007f3eb8c27b29 in __GI___fortify_fail (msg=msg@entry=0x7f3eb8ca728c "buffer overflow detected") at fortify_fail.c:24
  neovim#6  0x00007f3eb8c26364 in __GI___chk_fail () at chk_fail.c:28
  neovim#7  0x00007f3eb8c25f45 in ___snprintf_chk (s=s@entry=0x55b8c7c096a5 <IObuff+5> "t' item", maxlen=maxlen@entry=1025, flag=flag@entry=2, slen=slen@entry=1020, format=format@entry=0x55b8c7b872a6 "%ldc") at snprintf_chk.c:29
  neovim#8  0x000055b8c7aea59f in snprintf (__fmt=0x55b8c7b872a6 "%ldc", __n=1025, __s=0x55b8c7c096a5 <IObuff+5> "t' item") at /usr/include/bits/stdio2.h:54
  neovim#9  uc_list (name=name@entry=0x55b8c8351788 "Explore", name_len=name_len@entry=7) at /usr/src/debug/neovim-0.9.0-1.fc38.x86_64/src/nvim/usercmd.c:534
  neovim#10 0x000055b8c7aeb8a0 in ex_command (eap=0x7fffdc350e60) at /usr/src/debug/neovim-0.9.0-1.fc38.x86_64/src/nvim/usercmd.c:1009
  neovim#11 0x000055b8c7972537 in execute_cmd0 (retv=retv@entry=0x7fffdc350e54, eap=eap@entry=0x7fffdc350e60, errormsg=errormsg@entry=0x7fffdc350e58, preview=preview@entry=false) at /usr/src/debug/neovim-0.9.0-1.fc38.x86_64/src/nvim/ex_docmd.c:1620
  neovim#12 0x000055b8c7975c55 in do_one_cmd (cmdlinep=cmdlinep@entry=0x7fffdc3510b8, flags=flags@entry=0, cstack=cstack@entry=0x7fffdc351140, fgetline=fgetline@entry=0x55b8c79882b8 <getexline>, cookie=cookie@entry=0x0) at /usr/src/debug/neovim-0.9.0-1.fc38.x86_64/src/nvim/ex_docmd.c:2279
  neovim#13 0x000055b8c79767fe in do_cmdline (cmdline=<optimized out>, fgetline=0x55b8c79882b8 <getexline>, cookie=0x0, flags=0) at /usr/src/debug/neovim-0.9.0-1.fc38.x86_64/src/nvim/ex_docmd.c:578
  neovim#14 0x000055b8c7a17463 in nv_colon (cap=0x7fffdc351780) at /usr/src/debug/neovim-0.9.0-1.fc38.x86_64/src/nvim/normal.c:3228
  neovim#15 0x000055b8c7a11b35 in normal_execute (state=0x7fffdc351700, key=<optimized out>) at /usr/src/debug/neovim-0.9.0-1.fc38.x86_64/src/nvim/normal.c:1196
  neovim#16 0x000055b8c7ab0994 in state_enter (s=0x7fffdc351700) at /usr/src/debug/neovim-0.9.0-1.fc38.x86_64/src/nvim/state.c:99
  neovim#17 0x000055b8c7a0ef68 in normal_enter (cmdwin=false, noexmode=false) at /usr/src/debug/neovim-0.9.0-1.fc38.x86_64/src/nvim/normal.c:497
  neovim#18 0x000055b8c78a0640 in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/neovim-0.9.0-1.fc38.x86_64/src/nvim/main.c:641
zeertzjq pushed a commit that referenced this pull request Apr 21, 2023
fix(usercmd): fix buffer overflow in uc_list()

Build with: -Wp,-D_FORTIFY_SOURCE=3 -O1 and gcc 13.

*** buffer overflow detected ***: terminated

(gdb) bt
  #0  __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44
  #1  0x00007f3eb8b93c03 in __pthread_kill_internal (signo=6, threadid=<optimized out>) at pthread_kill.c:78
  #2  0x00007f3eb8b42aee in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
  #3  0x00007f3eb8b2b87f in __GI_abort () at abort.c:79
  #4  0x00007f3eb8b2c60f in __libc_message (fmt=fmt@entry=0x7f3eb8ca72e6 "*** %s ***: terminated\n") at ../sysdeps/posix/libc_fatal.c:150
  #5  0x00007f3eb8c27b29 in __GI___fortify_fail (msg=msg@entry=0x7f3eb8ca728c "buffer overflow detected") at fortify_fail.c:24
  #6  0x00007f3eb8c26364 in __GI___chk_fail () at chk_fail.c:28
  #7  0x00007f3eb8c25f45 in ___snprintf_chk (s=s@entry=0x55b8c7c096a5 <IObuff+5> "t' item", maxlen=maxlen@entry=1025, flag=flag@entry=2, slen=slen@entry=1020, format=format@entry=0x55b8c7b872a6 "%ldc") at snprintf_chk.c:29
  #8  0x000055b8c7aea59f in snprintf (__fmt=0x55b8c7b872a6 "%ldc", __n=1025, __s=0x55b8c7c096a5 <IObuff+5> "t' item") at /usr/include/bits/stdio2.h:54
  #9  uc_list (name=name@entry=0x55b8c8351788 "Explore", name_len=name_len@entry=7) at /usr/src/debug/neovim-0.9.0-1.fc38.x86_64/src/nvim/usercmd.c:534
  #10 0x000055b8c7aeb8a0 in ex_command (eap=0x7fffdc350e60) at /usr/src/debug/neovim-0.9.0-1.fc38.x86_64/src/nvim/usercmd.c:1009
  #11 0x000055b8c7972537 in execute_cmd0 (retv=retv@entry=0x7fffdc350e54, eap=eap@entry=0x7fffdc350e60, errormsg=errormsg@entry=0x7fffdc350e58, preview=preview@entry=false) at /usr/src/debug/neovim-0.9.0-1.fc38.x86_64/src/nvim/ex_docmd.c:1620
  #12 0x000055b8c7975c55 in do_one_cmd (cmdlinep=cmdlinep@entry=0x7fffdc3510b8, flags=flags@entry=0, cstack=cstack@entry=0x7fffdc351140, fgetline=fgetline@entry=0x55b8c79882b8 <getexline>, cookie=cookie@entry=0x0) at /usr/src/debug/neovim-0.9.0-1.fc38.x86_64/src/nvim/ex_docmd.c:2279
  #13 0x000055b8c79767fe in do_cmdline (cmdline=<optimized out>, fgetline=0x55b8c79882b8 <getexline>, cookie=0x0, flags=0) at /usr/src/debug/neovim-0.9.0-1.fc38.x86_64/src/nvim/ex_docmd.c:578
  #14 0x000055b8c7a17463 in nv_colon (cap=0x7fffdc351780) at /usr/src/debug/neovim-0.9.0-1.fc38.x86_64/src/nvim/normal.c:3228
  #15 0x000055b8c7a11b35 in normal_execute (state=0x7fffdc351700, key=<optimized out>) at /usr/src/debug/neovim-0.9.0-1.fc38.x86_64/src/nvim/normal.c:1196
  #16 0x000055b8c7ab0994 in state_enter (s=0x7fffdc351700) at /usr/src/debug/neovim-0.9.0-1.fc38.x86_64/src/nvim/state.c:99
  #17 0x000055b8c7a0ef68 in normal_enter (cmdwin=false, noexmode=false) at /usr/src/debug/neovim-0.9.0-1.fc38.x86_64/src/nvim/normal.c:497
  #18 0x000055b8c78a0640 in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/neovim-0.9.0-1.fc38.x86_64/src/nvim/main.c:641
zeertzjq pushed a commit to zeertzjq/neovim that referenced this pull request Apr 21, 2023
Build with: -Wp,-D_FORTIFY_SOURCE=3 -O1 and gcc 13.

*** buffer overflow detected ***: terminated

(gdb) bt
  #0  __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44
  #1  0x00007f3eb8b93c03 in __pthread_kill_internal (signo=6, threadid=<optimized out>) at pthread_kill.c:78
  #2  0x00007f3eb8b42aee in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
  #3  0x00007f3eb8b2b87f in __GI_abort () at abort.c:79
  #4  0x00007f3eb8b2c60f in __libc_message (fmt=fmt@entry=0x7f3eb8ca72e6 "*** %s ***: terminated\n") at ../sysdeps/posix/libc_fatal.c:150
  #5  0x00007f3eb8c27b29 in __GI___fortify_fail (msg=msg@entry=0x7f3eb8ca728c "buffer overflow detected") at fortify_fail.c:24
  #6  0x00007f3eb8c26364 in __GI___chk_fail () at chk_fail.c:28
  #7  0x00007f3eb8c25f45 in ___snprintf_chk (s=s@entry=0x55b8c7c096a5 <IObuff+5> "t' item", maxlen=maxlen@entry=1025, flag=flag@entry=2, slen=slen@entry=1020, format=format@entry=0x55b8c7b872a6 "%ldc") at snprintf_chk.c:29
  #8  0x000055b8c7aea59f in snprintf (__fmt=0x55b8c7b872a6 "%ldc", __n=1025, __s=0x55b8c7c096a5 <IObuff+5> "t' item") at /usr/include/bits/stdio2.h:54
  neovim#9  uc_list (name=name@entry=0x55b8c8351788 "Explore", name_len=name_len@entry=7) at /usr/src/debug/neovim-0.9.0-1.fc38.x86_64/src/nvim/usercmd.c:534
  neovim#10 0x000055b8c7aeb8a0 in ex_command (eap=0x7fffdc350e60) at /usr/src/debug/neovim-0.9.0-1.fc38.x86_64/src/nvim/usercmd.c:1009
  neovim#11 0x000055b8c7972537 in execute_cmd0 (retv=retv@entry=0x7fffdc350e54, eap=eap@entry=0x7fffdc350e60, errormsg=errormsg@entry=0x7fffdc350e58, preview=preview@entry=false) at /usr/src/debug/neovim-0.9.0-1.fc38.x86_64/src/nvim/ex_docmd.c:1620
  neovim#12 0x000055b8c7975c55 in do_one_cmd (cmdlinep=cmdlinep@entry=0x7fffdc3510b8, flags=flags@entry=0, cstack=cstack@entry=0x7fffdc351140, fgetline=fgetline@entry=0x55b8c79882b8 <getexline>, cookie=cookie@entry=0x0) at /usr/src/debug/neovim-0.9.0-1.fc38.x86_64/src/nvim/ex_docmd.c:2279
  neovim#13 0x000055b8c79767fe in do_cmdline (cmdline=<optimized out>, fgetline=0x55b8c79882b8 <getexline>, cookie=0x0, flags=0) at /usr/src/debug/neovim-0.9.0-1.fc38.x86_64/src/nvim/ex_docmd.c:578
  neovim#14 0x000055b8c7a17463 in nv_colon (cap=0x7fffdc351780) at /usr/src/debug/neovim-0.9.0-1.fc38.x86_64/src/nvim/normal.c:3228
  neovim#15 0x000055b8c7a11b35 in normal_execute (state=0x7fffdc351700, key=<optimized out>) at /usr/src/debug/neovim-0.9.0-1.fc38.x86_64/src/nvim/normal.c:1196
  neovim#16 0x000055b8c7ab0994 in state_enter (s=0x7fffdc351700) at /usr/src/debug/neovim-0.9.0-1.fc38.x86_64/src/nvim/state.c:99
  neovim#17 0x000055b8c7a0ef68 in normal_enter (cmdwin=false, noexmode=false) at /usr/src/debug/neovim-0.9.0-1.fc38.x86_64/src/nvim/normal.c:497
  neovim#18 0x000055b8c78a0640 in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/neovim-0.9.0-1.fc38.x86_64/src/nvim/main.c:641
craigmac pushed a commit to craigmac/neovim that referenced this pull request Apr 21, 2023
fix(usercmd): fix buffer overflow in uc_list()

Build with: -Wp,-D_FORTIFY_SOURCE=3 -O1 and gcc 13.

*** buffer overflow detected ***: terminated

(gdb) bt
  #0  __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44
  neovim#1  0x00007f3eb8b93c03 in __pthread_kill_internal (signo=6, threadid=<optimized out>) at pthread_kill.c:78
  neovim#2  0x00007f3eb8b42aee in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
  neovim#3  0x00007f3eb8b2b87f in __GI_abort () at abort.c:79
  neovim#4  0x00007f3eb8b2c60f in __libc_message (fmt=fmt@entry=0x7f3eb8ca72e6 "*** %s ***: terminated\n") at ../sysdeps/posix/libc_fatal.c:150
  neovim#5  0x00007f3eb8c27b29 in __GI___fortify_fail (msg=msg@entry=0x7f3eb8ca728c "buffer overflow detected") at fortify_fail.c:24
  neovim#6  0x00007f3eb8c26364 in __GI___chk_fail () at chk_fail.c:28
  neovim#7  0x00007f3eb8c25f45 in ___snprintf_chk (s=s@entry=0x55b8c7c096a5 <IObuff+5> "t' item", maxlen=maxlen@entry=1025, flag=flag@entry=2, slen=slen@entry=1020, format=format@entry=0x55b8c7b872a6 "%ldc") at snprintf_chk.c:29
  neovim#8  0x000055b8c7aea59f in snprintf (__fmt=0x55b8c7b872a6 "%ldc", __n=1025, __s=0x55b8c7c096a5 <IObuff+5> "t' item") at /usr/include/bits/stdio2.h:54
  neovim#9  uc_list (name=name@entry=0x55b8c8351788 "Explore", name_len=name_len@entry=7) at /usr/src/debug/neovim-0.9.0-1.fc38.x86_64/src/nvim/usercmd.c:534
  neovim#10 0x000055b8c7aeb8a0 in ex_command (eap=0x7fffdc350e60) at /usr/src/debug/neovim-0.9.0-1.fc38.x86_64/src/nvim/usercmd.c:1009
  neovim#11 0x000055b8c7972537 in execute_cmd0 (retv=retv@entry=0x7fffdc350e54, eap=eap@entry=0x7fffdc350e60, errormsg=errormsg@entry=0x7fffdc350e58, preview=preview@entry=false) at /usr/src/debug/neovim-0.9.0-1.fc38.x86_64/src/nvim/ex_docmd.c:1620
  neovim#12 0x000055b8c7975c55 in do_one_cmd (cmdlinep=cmdlinep@entry=0x7fffdc3510b8, flags=flags@entry=0, cstack=cstack@entry=0x7fffdc351140, fgetline=fgetline@entry=0x55b8c79882b8 <getexline>, cookie=cookie@entry=0x0) at /usr/src/debug/neovim-0.9.0-1.fc38.x86_64/src/nvim/ex_docmd.c:2279
  neovim#13 0x000055b8c79767fe in do_cmdline (cmdline=<optimized out>, fgetline=0x55b8c79882b8 <getexline>, cookie=0x0, flags=0) at /usr/src/debug/neovim-0.9.0-1.fc38.x86_64/src/nvim/ex_docmd.c:578
  neovim#14 0x000055b8c7a17463 in nv_colon (cap=0x7fffdc351780) at /usr/src/debug/neovim-0.9.0-1.fc38.x86_64/src/nvim/normal.c:3228
  neovim#15 0x000055b8c7a11b35 in normal_execute (state=0x7fffdc351700, key=<optimized out>) at /usr/src/debug/neovim-0.9.0-1.fc38.x86_64/src/nvim/normal.c:1196
  neovim#16 0x000055b8c7ab0994 in state_enter (s=0x7fffdc351700) at /usr/src/debug/neovim-0.9.0-1.fc38.x86_64/src/nvim/state.c:99
  neovim#17 0x000055b8c7a0ef68 in normal_enter (cmdwin=false, noexmode=false) at /usr/src/debug/neovim-0.9.0-1.fc38.x86_64/src/nvim/normal.c:497
  neovim#18 0x000055b8c78a0640 in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/neovim-0.9.0-1.fc38.x86_64/src/nvim/main.c:641
theHamsta pushed a commit to theHamsta/neovim that referenced this pull request Apr 21, 2023
fix(usercmd): fix buffer overflow in uc_list()

Build with: -Wp,-D_FORTIFY_SOURCE=3 -O1 and gcc 13.

*** buffer overflow detected ***: terminated

(gdb) bt
  #0  __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44
  neovim#1  0x00007f3eb8b93c03 in __pthread_kill_internal (signo=6, threadid=<optimized out>) at pthread_kill.c:78
  neovim#2  0x00007f3eb8b42aee in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
  neovim#3  0x00007f3eb8b2b87f in __GI_abort () at abort.c:79
  neovim#4  0x00007f3eb8b2c60f in __libc_message (fmt=fmt@entry=0x7f3eb8ca72e6 "*** %s ***: terminated\n") at ../sysdeps/posix/libc_fatal.c:150
  neovim#5  0x00007f3eb8c27b29 in __GI___fortify_fail (msg=msg@entry=0x7f3eb8ca728c "buffer overflow detected") at fortify_fail.c:24
  neovim#6  0x00007f3eb8c26364 in __GI___chk_fail () at chk_fail.c:28
  neovim#7  0x00007f3eb8c25f45 in ___snprintf_chk (s=s@entry=0x55b8c7c096a5 <IObuff+5> "t' item", maxlen=maxlen@entry=1025, flag=flag@entry=2, slen=slen@entry=1020, format=format@entry=0x55b8c7b872a6 "%ldc") at snprintf_chk.c:29
  neovim#8  0x000055b8c7aea59f in snprintf (__fmt=0x55b8c7b872a6 "%ldc", __n=1025, __s=0x55b8c7c096a5 <IObuff+5> "t' item") at /usr/include/bits/stdio2.h:54
  neovim#9  uc_list (name=name@entry=0x55b8c8351788 "Explore", name_len=name_len@entry=7) at /usr/src/debug/neovim-0.9.0-1.fc38.x86_64/src/nvim/usercmd.c:534
  neovim#10 0x000055b8c7aeb8a0 in ex_command (eap=0x7fffdc350e60) at /usr/src/debug/neovim-0.9.0-1.fc38.x86_64/src/nvim/usercmd.c:1009
  neovim#11 0x000055b8c7972537 in execute_cmd0 (retv=retv@entry=0x7fffdc350e54, eap=eap@entry=0x7fffdc350e60, errormsg=errormsg@entry=0x7fffdc350e58, preview=preview@entry=false) at /usr/src/debug/neovim-0.9.0-1.fc38.x86_64/src/nvim/ex_docmd.c:1620
  neovim#12 0x000055b8c7975c55 in do_one_cmd (cmdlinep=cmdlinep@entry=0x7fffdc3510b8, flags=flags@entry=0, cstack=cstack@entry=0x7fffdc351140, fgetline=fgetline@entry=0x55b8c79882b8 <getexline>, cookie=cookie@entry=0x0) at /usr/src/debug/neovim-0.9.0-1.fc38.x86_64/src/nvim/ex_docmd.c:2279
  neovim#13 0x000055b8c79767fe in do_cmdline (cmdline=<optimized out>, fgetline=0x55b8c79882b8 <getexline>, cookie=0x0, flags=0) at /usr/src/debug/neovim-0.9.0-1.fc38.x86_64/src/nvim/ex_docmd.c:578
  neovim#14 0x000055b8c7a17463 in nv_colon (cap=0x7fffdc351780) at /usr/src/debug/neovim-0.9.0-1.fc38.x86_64/src/nvim/normal.c:3228
  neovim#15 0x000055b8c7a11b35 in normal_execute (state=0x7fffdc351700, key=<optimized out>) at /usr/src/debug/neovim-0.9.0-1.fc38.x86_64/src/nvim/normal.c:1196
  neovim#16 0x000055b8c7ab0994 in state_enter (s=0x7fffdc351700) at /usr/src/debug/neovim-0.9.0-1.fc38.x86_64/src/nvim/state.c:99
  neovim#17 0x000055b8c7a0ef68 in normal_enter (cmdwin=false, noexmode=false) at /usr/src/debug/neovim-0.9.0-1.fc38.x86_64/src/nvim/normal.c:497
  neovim#18 0x000055b8c78a0640 in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/neovim-0.9.0-1.fc38.x86_64/src/nvim/main.c:641
folke pushed a commit to folke/neovim that referenced this pull request May 22, 2023
…#22780)

Problem:
Wrong buffer size argument passed to snprintf() in set_cmdarg():
	Thread no. 1 (24 frames)
	 neovim#8 snprintf at /usr/include/bits/stdio2.h:54
	 neovim#9 set_cmdarg at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/eval.c:7044
	 neovim#10 apply_autocmds_group at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/autocmd.c:1843
	 neovim#11 apply_autocmds_exarg at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/autocmd.c:1549
	 neovim#12 readfile at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/fileio.c:617
	 neovim#13 buf_reload at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/fileio.c:5038
	 neovim#14 buf_check_timestamp at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/fileio.c:4952
	 neovim#15 check_timestamps at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/fileio.c:4678
	 neovim#16 ex_checktime at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/ex_cmds2.c:765
	 neovim#17 execute_cmd0 at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/ex_docmd.c:1620
	 neovim#18 do_one_cmd at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/ex_docmd.c:2275
	 neovim#19 do_cmdline at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/ex_docmd.c:584
	 neovim#20 ex_execute at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/eval.c:7727
	 neovim#21 execute_cmd0 at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/ex_docmd.c:1620
	 neovim#22 do_one_cmd at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/ex_docmd.c:2275
	 neovim#23 do_cmdline at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/ex_docmd.c:584
	 neovim#24 do_ucmd at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/usercmd.c:1661
	 neovim#25 execute_cmd0 at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/ex_docmd.c:1612
	 neovim#26 do_one_cmd at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/ex_docmd.c:2275
	 neovim#27 do_cmdline at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/ex_docmd.c:584
	 neovim#28 nv_colon at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/normal.c:4058
	 neovim#29 normal_execute at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/normal.c:1172
	 neovim#30 state_enter at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/state.c:88
	 neovim#31 normal_enter at /usr/src/debug/neovim-0.8.2-2.fc38.x86_64/src/nvim/normal.c:471

Solution:
Subtract the offset from the buffer size.

Signed-off-by: Andreas Schneider <asn@cryptomilk.org>
folke pushed a commit to folke/neovim that referenced this pull request May 22, 2023
fix(usercmd): fix buffer overflow in uc_list()

Build with: -Wp,-D_FORTIFY_SOURCE=3 -O1 and gcc 13.

*** buffer overflow detected ***: terminated

(gdb) bt
  #0  __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44
  #1  0x00007f3eb8b93c03 in __pthread_kill_internal (signo=6, threadid=<optimized out>) at pthread_kill.c:78
  neovim#2  0x00007f3eb8b42aee in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
  neovim#3  0x00007f3eb8b2b87f in __GI_abort () at abort.c:79
  neovim#4  0x00007f3eb8b2c60f in __libc_message (fmt=fmt@entry=0x7f3eb8ca72e6 "*** %s ***: terminated\n") at ../sysdeps/posix/libc_fatal.c:150
  neovim#5  0x00007f3eb8c27b29 in __GI___fortify_fail (msg=msg@entry=0x7f3eb8ca728c "buffer overflow detected") at fortify_fail.c:24
  neovim#6  0x00007f3eb8c26364 in __GI___chk_fail () at chk_fail.c:28
  neovim#7  0x00007f3eb8c25f45 in ___snprintf_chk (s=s@entry=0x55b8c7c096a5 <IObuff+5> "t' item", maxlen=maxlen@entry=1025, flag=flag@entry=2, slen=slen@entry=1020, format=format@entry=0x55b8c7b872a6 "%ldc") at snprintf_chk.c:29
  neovim#8  0x000055b8c7aea59f in snprintf (__fmt=0x55b8c7b872a6 "%ldc", __n=1025, __s=0x55b8c7c096a5 <IObuff+5> "t' item") at /usr/include/bits/stdio2.h:54
  neovim#9  uc_list (name=name@entry=0x55b8c8351788 "Explore", name_len=name_len@entry=7) at /usr/src/debug/neovim-0.9.0-1.fc38.x86_64/src/nvim/usercmd.c:534
  neovim#10 0x000055b8c7aeb8a0 in ex_command (eap=0x7fffdc350e60) at /usr/src/debug/neovim-0.9.0-1.fc38.x86_64/src/nvim/usercmd.c:1009
  neovim#11 0x000055b8c7972537 in execute_cmd0 (retv=retv@entry=0x7fffdc350e54, eap=eap@entry=0x7fffdc350e60, errormsg=errormsg@entry=0x7fffdc350e58, preview=preview@entry=false) at /usr/src/debug/neovim-0.9.0-1.fc38.x86_64/src/nvim/ex_docmd.c:1620
  neovim#12 0x000055b8c7975c55 in do_one_cmd (cmdlinep=cmdlinep@entry=0x7fffdc3510b8, flags=flags@entry=0, cstack=cstack@entry=0x7fffdc351140, fgetline=fgetline@entry=0x55b8c79882b8 <getexline>, cookie=cookie@entry=0x0) at /usr/src/debug/neovim-0.9.0-1.fc38.x86_64/src/nvim/ex_docmd.c:2279
  neovim#13 0x000055b8c79767fe in do_cmdline (cmdline=<optimized out>, fgetline=0x55b8c79882b8 <getexline>, cookie=0x0, flags=0) at /usr/src/debug/neovim-0.9.0-1.fc38.x86_64/src/nvim/ex_docmd.c:578
  neovim#14 0x000055b8c7a17463 in nv_colon (cap=0x7fffdc351780) at /usr/src/debug/neovim-0.9.0-1.fc38.x86_64/src/nvim/normal.c:3228
  neovim#15 0x000055b8c7a11b35 in normal_execute (state=0x7fffdc351700, key=<optimized out>) at /usr/src/debug/neovim-0.9.0-1.fc38.x86_64/src/nvim/normal.c:1196
  neovim#16 0x000055b8c7ab0994 in state_enter (s=0x7fffdc351700) at /usr/src/debug/neovim-0.9.0-1.fc38.x86_64/src/nvim/state.c:99
  neovim#17 0x000055b8c7a0ef68 in normal_enter (cmdwin=false, noexmode=false) at /usr/src/debug/neovim-0.9.0-1.fc38.x86_64/src/nvim/normal.c:497
  neovim#18 0x000055b8c78a0640 in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/neovim-0.9.0-1.fc38.x86_64/src/nvim/main.c:641
ii14 added a commit to ii14/neovim that referenced this pull request Jul 22, 2023
Only patches up the symptoms, without solving the root cause.

This is the stack trace I've received:

    #0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
    #1  0x00007ffff5d2eea5 in __GI_abort () at abort.c:79
    neovim#2  0x00007ffff5d2ed79 in __assert_fail_base (fmt=0x7ffff5e96be8 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=0x7ffff67262cd "!uv__is_closing(handle)",
        file=0x7ffff67262bd "src/unix/core.c", line=109, function=<optimized out>) at assert.c:92
    neovim#3  0x00007ffff5d54456 in __GI___assert_fail (assertion=assertion@entry=0x7ffff67262cd "!uv__is_closing(handle)", file=file@entry=0x7ffff67262bd "src/unix/core.c",
        line=line@entry=109, function=function@entry=0x7ffff6726598 <__PRETTY_FUNCTION__.10265> "uv_close") at assert.c:101
    neovim#4  0x00007ffff67118a8 in uv_close (handle=<optimized out>, close_cb=<optimized out>) at src/unix/core.c:109
    neovim#5  0x00000000005e5ca5 in stream_close_handle (stream=0x9edd20) at /tmp/tmp.acQVKjvA2Y/neovim-0.9.1/src/nvim/event/stream.c:142
    neovim#6  0x0000000000a7edc0 in ?? ()
    neovim#7  0x00000000005e5d6f in write_cb (req=<optimized out>, status=0) at /tmp/tmp.acQVKjvA2Y/neovim-0.9.1/src/nvim/event/wstream.c:145
    neovim#8  0x0000000000a7ee28 in ?? ()
    neovim#9  0x0000000000a7edd0 in ?? ()
    neovim#10 0x00007ffff671cc00 in uv__write_callbacks (stream=stream@entry=0x9edd28) at src/unix/stream.c:953
    neovim#11 0x00007ffff671d293 in uv__stream_destroy (stream=stream@entry=0x9edd28) at src/unix/stream.c:469
    neovim#12 0x00007ffff6711ae8 in uv__finish_close (handle=0x9edd28) at src/unix/core.c:287
    neovim#13 uv__run_closing_handles (loop=0x9bffe0 <main_loop>) at src/unix/core.c:317
    neovim#14 uv_run (loop=0x9bffe0 <main_loop>, mode=UV_RUN_DEFAULT) at src/unix/core.c:395
    neovim#15 0x00000000005f3c53 in loop_close (loop=0x9bffe0 <main_loop>, wait=true) at /tmp/tmp.acQVKjvA2Y/neovim-0.9.1/src/nvim/event/loop.c:162
    neovim#16 0x0000000000000000 in ?? ()

What's going on here, is that loop_close function forcibly closes uv
handles:

    uv_walk(&loop->uv, loop_walk_cb, NULL);

The problem is that neovim's streams keep track of whether the stream
was closed or not, and by pulling the rug from under their feet like
this, they might try to close the uv handle for the second time inside
their callbacks.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

9 participants