aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
...
| * | | regexp_nfa: Silence PVS/V560: current code is more obviousZyX2018-04-22
| | | | | | | | | | | | | | | | | | | | While warning is technically true (cannot enter this case with `state->c` greater then NFA_Z…9) it makes condition less readable and relies on knownledge of enum internal structure.
| * | | quickfix: Silence PVS/V560: memory is referenced and may be changedZyX2018-04-22
| | | |
| * | | quickfix: Fix PVS/V547: allocator never returns NULL nowZyX2018-04-22
| | | |
| * | | quickfix: Fix PVS/V547,V560: no conversion with fixed &encodingZyX2018-04-22
| | | |
| * | | eval/typval: Remove struct dictitem_S which is not used anywhereZyX2018-04-20
| | | |
| * | | event/process: Silence PVS/V547: assuming stream->num_bytes changesZyX2018-04-17
| | | | | | | | | | | | | | | | Not familiar with the code, but I assume that loop_poll_events can actually change stream->num_bytes, so condition is not always false.
| * | | pvscheck: Add --update switchZyX2018-04-17
| | | |
| * | | pvscheck: Remove outputs before running plog-converterZyX2018-04-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | plog-converter behaviour is not the best one when creating fullhtml report and directory already exists: it puts report inside an existing directory. Not sure what exactly it does if inside exists as well, but if I am not mistaking report will not be created.
| * | | path: Silence PVS/V557: impossible to reach with NUL-terminated stringZyX2018-04-17
| | | |
| * | | path: Fix PVS/V560: condition is essentially `A && A`ZyX2018-04-17
| | | |
| * | | option: Silence PVS/V547: expression is true on 64-bit systemsZyX2018-04-16
| | | |
| * | | option: Fix PVS/V547: var is always NULL at that pointZyX2018-04-16
| | | |
| * | | option: Fix PVS/V560: EXPAND_BOOL_SETTINGS already caused early returnZyX2018-04-16
| | | |
| * | | option: Fix PVS/V547: allocator never returns NULL nowZyX2018-04-16
| | | |
| * | | option: Fix PVS/V517: duplicate check for titlelenZyX2018-04-16
| | | |
| * | | option: Silence PVS/V594: GLOBAL_WO macros is not really necessaryZyX2018-04-16
| | | | | | | | | | | | | | | | In that case it is completely possible to just use w_allbuf_opt directly.
| * | | ops: Fix PVS/V560: pre may not be zero as that was already checkedZyX2018-04-16
| | | |
| * | | ops: Fix PVS/V614: use of uninitialized variableZyX2018-04-15
| | | | | | | | | | | | | | | | I have actually no idea how code managed to work and not trigger ASAN/etc here. It does not look like a false positive at all.
| * | | ops: Fix PVS/V547: allocator never returns NULLZyX2018-04-15
| | | |
| * | | ops: Fix PVS/V547: did_change is almost always setZyX2018-04-15
| | | | | | | | | | | | Only exception is early `goto theend`.
| * | | ops: Silence PVS/V614: regtype is always initializedZyX2018-04-15
| | | |
| * | | message: Fix PVS/V547: c is never equal to KS_ZEROZyX2018-04-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since `c` there is a result of evaluating `TO_SPECIAL` macros it may be only one of the following three things: 1. K_SPECIAL 2. K_ZERO (note: not KS_ZERO) 3. negative integer resulting from evaluating TERMCAP2KEY macro. All variants here are negative and thus fail next !IS_SPECIAL(c) check (negative is special). If `c` was really NUL it would fall into the `!IS_SPECIAL(c)` block and use whatever character is third in `<80>{a}{b}` combo. For `<Nul>` it is X (`<80><ff>X`).
| * | | memline: Fix PVS/V547: allocator now never returns NULLZyX2018-04-15
| | | |
| * | | memline: Fix PVS/V560: allocator now never returns NULLZyX2018-04-15
| | | |
| * | | mbyte: Fix PVS/V557: do not do useless jobZyX2018-04-15
| | | | | | | | | | | | | | | | I do not see how array overrun is actually possible, but still EUC encodings may do fine without a cycle.
| * | | if_cscope: Fix PVS/V560: condition would result in earlier returnZyX2018-04-15
| | | | | | | | | | | | | | | | Previous block just checks for totmatches being zero and returns if it is. And totmatches is unsigned, so `totmatches > 0` may never be true.
| * | | os/fs: Fix PVS/V560: condition was already checked in while()ZyX2018-04-15
| | | | | | | | | | | | | | | | It is not possible to enter while loop body with unsigned2 == 0 if loop condition requires unsigned1 < unsigned2.
| * | | fileio: Silence PVS/V614: buffer is initialized if conv_restlen > 0ZyX2018-04-15
| | | |
| * | | fileio: Fix PVS/V547: split is not usedZyX2018-04-15
| | | | | | | | | | | | This is removed functionality, specifically no longer supported 16-bit integers.
| * | | fileio: Fix PVS/V560: end was already checkedZyX2018-04-15
| | | | | | | | | | | | See condition at line 3309.
| * | | file_search: Silence PVS/V614: used buffer is never uninitializedZyX2018-04-15
| | | |
| * | | kvec: Silence PVS/V512: it is not needed to fill the whole arrayZyX2018-04-15
| | | |
| * | | viml/parser/expressions: Fix PVS/V547: condition checked earlierZyX2018-04-15
| | | | | | | | | | | | See previous goto with the same label.
| * | | viml/parser/expressions: Fix PVS/V547: condition checked earlierZyX2018-04-15
| | | | | | | | | | | | See previous goto with the same label.
| * | | ex_cmds: Fix PVS/V547: expression was already checked in outer if()ZyX2018-04-15
| | | |
| * | | eval: Silence PVS/V547: PVS cannot stand `!known_val` expressionsZyX2018-04-15
| | | |
| * | | *: Add some PVS commentsZyX2018-04-15
| | | |
| * | | ex_getln: Fix PVS/V547: function is stated to never return NULLZyX2018-04-15
| | | |
| * | | ex_getln: Fix PVS/V560: there are no longer NULL returns for OOMZyX2018-04-15
| | | |
| * | | ex_docmd: Fix PVS/V547: condition was already checked in surr. if()ZyX2018-04-15
| | | |
| * | | ex_docmd: Fix PVS/V547: due to short-circuiting name_len is never > 4ZyX2018-04-15
| | | |
| * | | ex_cmds: Fix PVS/V557: possible array overrun in :asciiZyX2018-04-15
| | | | | | | | | | | | | | | | | | | | | | | | Some calculation show that with the current setup there will not be enough bytes occupied for that, barring the case of malicious translation. Still should be possible to have array overrun with specially crafted translation.
| * | | ex_cmds: Simplify do_asciiZyX2018-04-15
| | | | | | | | | | | | | | | | Specifically apply constants like enc_utf8 (which are constants *now*) and simplify conditions after that. Also some style changes.
| * | | ex_cmds: Remove #ifdef USE_GUIZyX2018-04-15
| | | | | | | | | | | | | | | | `ag` shows that this identifier (`USE_GUI`) is found in exactly one place (zero after this commit). So I assume macros is never defined.
| * | | eval: Fix PVS/V547: skipping is now done using eval0ZyX2018-04-15
| | | |
| * | | eval: Silence PVS/V547: E882 may be triggeredZyX2018-04-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I failed to deduce why analyzer thinks E882 may not be triggered, though conditions for triggering it are strange: it would trigger E882 only in the single case “function returned non-number”. Cases “function thrown exception”, or “built-in sorter encountered error” will neither yield E882 nor stop sort()/uniq(). Note though that searching test code revealed that neither E702 nor E882 are not tested anywhere.
| * | | eval: Silence PVS/V614: use of potentially uninitialized pointerZyX2018-04-10
| | | | | | | | | | | | | | | | | | | | | | | | It is hard to say whether it actually is uninitialized, need to go deeper into regex code. Probably analyzer did not go that far as regmatch for sure would not be initialized up until calling NFA/DFA engine functions, which is to be done by pointer.
| * | | eval: Fix PVS/V560: unneded check for name_lenZyX2018-04-10
| | | | | | | | | | | | | | | | It is unsigned, zero length would already cause early return and length 1 is checked earlier in the same condition.
| * | | eval: Fix PVS/V547: ufunc_T is actually an incomplete typeZyX2018-04-10
| | | |
| * | | edit: Fix PVS/V560: remove always true/false checksZyX2018-04-10
| | | |