diff options
author | Felipe Oliveira Carvalho <felipekde@gmail.com> | 2014-03-28 00:11:57 -0300 |
---|---|---|
committer | Thiago de Arruda <tpadilha84@gmail.com> | 2014-03-31 07:31:47 -0300 |
commit | 5afc1161ca31a643bf0cd14f7a96f1a2b953efec (patch) | |
tree | 0dd01dc529b884910bc0d27cc2b06849936575dc /src/os_unix.c | |
parent | de1575f3ea9dd2ab66198537a0a3788fba0e06bb (diff) | |
download | rneovim-5afc1161ca31a643bf0cd14f7a96f1a2b953efec.tar.gz rneovim-5afc1161ca31a643bf0cd14f7a96f1a2b953efec.tar.bz2 rneovim-5afc1161ca31a643bf0cd14f7a96f1a2b953efec.zip |
Avoid a seg fault when exiting after OOM error
I'm debugging OOM behavior using http://www.nongnu.org/failmalloc/ on Linux.
gdb environment:
```
set env LD_PRELOAD=libfailmalloc.so
set env FAILMALLOC_SPACE=0xF00000
```
SEGV was happening like this:
```
Starting program: /home/felipe/code/neovim/build/bin/nvim
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Vim: Error: Out of memory.
Program received signal SIGSEGV, Segmentation fault.
0x00000000004d3719 in getout (exitval=1) at
/home/felipe/code/neovim/src/main.c:836
836 if (*p_viminfo != NUL)
(gdb)
```
After the fix it works as expected:
```
(gdb) set environment LD_PRELOAD=libfailmalloc.so
(gdb) set environment FAILMALLOC_SPACE=0xF00000
(gdb) r
Starting program: /home/felipe/code/neovim/build/bin/nvim
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Vim: Error: Out of memory.
Vim: Finished.
[Inferior 1 (process 21505) exited with code 01]
(gdb)
```
Diffstat (limited to 'src/os_unix.c')
0 files changed, 0 insertions, 0 deletions