diff options
author | Eliseo Martínez <eliseomarmol@gmail.com> | 2014-12-17 21:38:50 +0100 |
---|---|---|
committer | Eliseo Martínez <eliseomarmol@gmail.com> | 2014-12-17 22:10:53 +0100 |
commit | 5394796fd3068316cd7247d494e52fcf60cb5c60 (patch) | |
tree | 14145671e4a19cac0c389a2929b57f8667a11a5f /runtime/doc/manpages/ja/vim-ja.1 | |
parent | 885661d25b11aa248e3841953264d5cd92486991 (diff) | |
download | rneovim-5394796fd3068316cd7247d494e52fcf60cb5c60.tar.gz rneovim-5394796fd3068316cd7247d494e52fcf60cb5c60.tar.bz2 rneovim-5394796fd3068316cd7247d494e52fcf60cb5c60.zip |
Fix warnings: window.c: win_close_othertab(): Np dereference: FP.
Problem : Dereference of null pointer @ 1980.
Diagnostic : False positive.
Rationale : I haven't been able to find the real reason why this is
signaled. Nonetheless, I've been able to track down the
introduction of this warning to commit
77135447e09903b45d1482da45869946212f7904.
The change there affecting this function is just a
transformation maintaining semantics. So, this must be a
FP, though I can't explain why.
Analyzer thinks `win->w_buffer` can be null in line 1980,
following an error path assuming win->w_buffer null at line
1819. Given that `win_close` function was not modified by
mentioned commit, I don't understand why this path is
analyzed after the changes, but not before them. Or if it's
analyzed, why it's discarded before changes but not after
them. I don't see anything in changes to
`close_last_window_tabpage` that should affect to
being able to deduce `win->w_buffer` is not null.
Resolution : Assert buffer not null in `win_close_othertab`.
Function comments state that passed window should have a
buffer that can be hidden, which implies there should be a
buffer.
Reverting changes to `close_last_window_tabpage` in
mentioned commit would be another way to fix this (tried
and worked).
But assert is preferred in this case because flat style
reads better and we have some other way to fix it.
Diffstat (limited to 'runtime/doc/manpages/ja/vim-ja.1')
0 files changed, 0 insertions, 0 deletions