Date: | Tue May 11 05:47:06 2021 |
---|---|

PVS-Studio Version: | 7.12.46137.116 |

Command Line: | plog-converter PVS-studio.log --srcRoot . --excludedCodes V011 --renderTypes fullhtml --output PVS-studio.html.d |

Total Warnings (GA): | 94 |

Group | Location | Level | Code | Message |
---|---|---|---|---|

General Analysis | typval_encode.c.h:393 | Medium |
V785 | Constant expression in switch statement. |

General Analysis | buffer.c:3142 | Medium |
V681 | The language standard does not define an order in which the 'bt_dontwrite' functions will be called during evaluation of arguments. |

General Analysis | eval.c:5474 | High |
V1063 | The modulo by 1 operation is meaningless. The result will always be zero. |

General Analysis | eval.c:5754 | High |
V576 | Incorrect format. Consider checking the fourth actual argument of the 'vim_snprintf' function. The memsize type argument is expected. |

General Analysis | eval.c:5754 | High |
V576 | Incorrect format. Consider checking the fifth actual argument of the 'vim_snprintf' function. The memsize type argument is expected. |

General Analysis | eval.c:6124 | Medium |
V1051 | Consider checking for misprints. It's possible that the 'trans_name' should be checked here. |

General Analysis | typval_encode.c.h:283 | High |
V1063 | The modulo by 1 operation is meaningless. The result will always be zero. |

General Analysis | typval_encode.c.h:326 | High |
V1063 | The modulo by 1 operation is meaningless. The result will always be zero. |

General Analysis | typval_encode.c.h:326 | High |
V576 | Incorrect format. Consider checking the fourth actual argument of the 'vim_snprintf' function. The memsize type argument is expected. |

General Analysis | typval_encode.c.h:330 | High |
V1063 | The modulo by 1 operation is meaningless. The result will always be zero. |

General Analysis | typval_encode.c.h:489 | High |
V1063 | The modulo by 1 operation is meaningless. The result will always be zero. |

General Analysis | typval_encode.c.h:489 | High |
V576 | Incorrect format. Consider checking the fourth actual argument of the 'vim_snprintf' function. The memsize type argument is expected. |

General Analysis | typval_encode.c.h:497 | High |
V1063 | The modulo by 1 operation is meaningless. The result will always be zero. |

General Analysis | typval_encode.c.h:487 | High |
V1063 | The modulo by 1 operation is meaningless. The result will always be zero. |

General Analysis | typval_encode.c.h:487 | High |
V576 | |

General Analysis | funcs.c:1822 | High |
V547 | Expression is always true. |

General Analysis | funcs.c:2535 | Medium |
V560 | A part of conditional expression is always true: mods != NULL. |

General Analysis | funcs.c:3765 | High |
V1063 | The modulo by 1 operation is meaningless. The result will always be zero. |

General Analysis | funcs.c:6682 | Medium |
V614 | Potentially uninitialized variable 'ga.ga_len' used. |

General Analysis | funcs.c:8273 | Medium |
V560 | A part of conditional expression is always true. |

General Analysis | typval.c:2712 | High |
V547 | Expression is always true. |

General Analysis | userfunc.c:147 | Medium |
V547 | Expression 'expr == NULL' is always false. |

General Analysis | userfunc.c:3471 | Medium |
V560 | A part of conditional expression is always false: abort. |

General Analysis | userfunc.c:3501 | Medium |
V560 | A part of conditional expression is always false: abort. |

General Analysis | userfunc.c:3509 | Medium |
V560 | A part of conditional expression is always false: abort. |

General Analysis | ex_cmds.c:3649 | High |
V1051 | Consider checking for misprints. It's possible that the 'current_match.start.lnum' should be checked here. |

General Analysis | ex_cmds2.c:2741 | Medium |
V507 | Pointer to local array 'sourcing_name_buf' is stored outside the scope of this array. Such a pointer will become invalid. |

General Analysis | ex_docmd.c:4184 | Medium |
V547 | Expression 'eap->line2 < 0' is always false. |

General Analysis | ex_session.c:454 | High |
V576 | Incorrect format. Consider checking the fifth actual argument of the 'fprintf' function. The memsize type argument is expected. |

General Analysis | ex_session.c:454 | High |
V576 | Incorrect format. Consider checking the sixth actual argument of the 'fprintf' function. The memsize type argument is expected. |

General Analysis | fileio.c:4497 | High |
V1063 | The modulo by 1 operation is meaningless. The result will always be zero. |

General Analysis | fileio.c:5460 | High |
V1063 | The modulo by 1 operation is meaningless. The result will always be zero. |

General Analysis | fold.c:2846 | Medium |
V560 | A part of conditional expression is always true: (gap)->ga_len > 0. |

General Analysis | fold.c:2850 | Medium |
V560 | A part of conditional expression is always true: (gap)->ga_len > 0. |

General Analysis | fold.c:2869 | Medium |
V560 | A part of conditional expression is always true: (gap)->ga_len > 0. |

General Analysis | highlight.c:567 | Medium |
V1051 | Consider checking for misprints. It's possible that the 'cattrs.rgb_fg_color' should be checked here. |

General Analysis | highlight.c:585 | Medium |
V1051 | Consider checking for misprints. It's possible that the 'cattrs.rgb_fg_color' should be checked here. |

General Analysis | if_cscope.c:1934 | High |
V1063 | The modulo by 1 operation is meaningless. The result will always be zero. |

General Analysis | keymap.c:673 | Medium |
V1051 | Consider checking for misprints. It's possible that the 'key' should be checked here. |

General Analysis | marktree.c:164 | High |
V512 | A call of the 'memcpy' function will lead to underflow of the buffer 'z->key'. |

General Analysis | marktree.c:469 | High |
V1028 | Possible overflow. Consider casting operands of the 'y->n + 1' operator to the 'size_t' type, not the result. |

General Analysis | marktree.c:491 | High |
V1028 | Possible overflow. Consider casting operands of the 'y->n + 1' operator to the 'size_t' type, not the result. |

General Analysis | memline.c:1017 | Medium |
V1048 | The 'buf->b_ml.ml_stack_top' variable was assigned the same value. |

General Analysis | memline.c:1019 | Medium |
V1048 | The 'buf->b_ml.ml_stack_size' variable was assigned the same value. |

General Analysis | normal.c:3182 | High |
V781 | The value of the 'col' index is checked after it was used. Perhaps there is a mistake in program logic. |

General Analysis | ops.c:2761 | High |
V1063 | The modulo by 1 operation is meaningless. The result will always be zero. |

General Analysis | ops.c:5026 | High |
V1063 | The modulo by 1 operation is meaningless. The result will always be zero. |

General Analysis | ops.c:5028 | High |
V1063 | The modulo by 1 operation is meaningless. The result will always be zero. |

General Analysis | ops.c:5030 | High |
V1063 | The modulo by 1 operation is meaningless. The result will always be zero. |

General Analysis | ops.c:5032 | High |
V1063 | The modulo by 1 operation is meaningless. The result will always be zero. |

General Analysis | option.c:4081 | High |
V1063 | The modulo by 1 operation is meaningless. The result will always be zero. |

General Analysis | option.c:4083 | High |
V1063 | The modulo by 1 operation is meaningless. The result will always be zero. |

General Analysis | option.c:4085 | High |
V1063 | The modulo by 1 operation is meaningless. The result will always be zero. |

General Analysis | option.c:4482 | High |
V1063 | The modulo by 1 operation is meaningless. The result will always be zero. |

General Analysis | option.c:4483 | High |
V1063 | The modulo by 1 operation is meaningless. The result will always be zero. |

General Analysis | option.c:4484 | High |
V1063 | The modulo by 1 operation is meaningless. The result will always be zero. |

General Analysis | option.c:4519 | High |
V1063 | The modulo by 1 operation is meaningless. The result will always be zero. |

General Analysis | input.c:448 | Medium |
V1044 | Loop break conditions do not depend on the number of iterations. |

General Analysis | quickfix.c:2755 | Medium |
V560 | A part of conditional expression is always false: old_qf_curlist != qi->qf_curlist. |

General Analysis | quickfix.c:2756 | Medium |
V560 | A part of conditional expression is always false: old_changetick != qfl->qf_changedtick. |

General Analysis | quickfix.c:2859 | Medium |
V560 | A part of conditional expression is always false: old_changetick != qfl->qf_changedtick. |

General Analysis | regexp_nfa.c:6170 | High |
V1051 | Consider checking for misprints. It's possible that the 'pim->result' should be checked here. |

General Analysis | screen.c:1720 | Medium |
V560 | A part of conditional expression is always false: wp->w_wcol == old_wcol. |

General Analysis | screen.c:1722 | Medium |
V560 | A part of conditional expression is always true: old_topline == wp->w_topline. |

General Analysis | screen.c:4090 | Medium |
V614 | Potentially uninitialized variable 'win_col_offset' used. Consider checking the second actual argument of the 'draw_virt_text' function. |

General Analysis | screen.c:2874 | Medium |
V1051 | Consider checking for misprints. It's possible that the 'vcol_sbr' should be checked here. |

General Analysis | screen.c:2933 | High |
V512 | A call of the 'memset' function will lead to underflow of the buffer 'buf_fold'. |

General Analysis | screen.c:3844 | Medium |
V560 | A part of conditional expression is always true: eol_hl_off == 0. |

General Analysis | screen.c:4661 | Medium |
V1051 | Consider checking for misprints. It's possible that the 'redraw_next' should be checked here. |

General Analysis | screen.c:5131 | Medium |
V512 | A call of the 'strcpy' function will lead to overflow of the buffer '(char *)(p + len)'. |

General Analysis | screen.c:7009 | High |
V1063 | The modulo by 1 operation is meaningless. The result will always be zero. |

General Analysis | search.c:1530 | Medium |
V768 | The variable 'dir' is of enum type. It is odd that it is used as a variable of a Boolean-type. |

General Analysis | sha256.c:7 | High |
V1042 | This file is marked with copyleft license, which requires you to open the derived source code. |

General Analysis | shada.c:4100 | High |
V1063 | The modulo by 1 operation is meaningless. The result will always be zero. |

General Analysis | sign.c:2015 | Medium |
V547 | Expression 'group == NULL' is always false. |

General Analysis | sign.c:2117 | Medium |
V547 | Expression 'group == NULL' is always false. |

General Analysis | spell.c:449 | Medium |
V557 | Array underrun is possible. The value of 'mi.mi_fwordlen - 1' index could reach -1. |

General Analysis | spell.c:5968 | High |
V781 | The value of the 'i' index is checked after it was used. Perhaps there is a mistake in program logic. |

General Analysis | strings.c:596 | High |
V568 | It's odd that 'sizeof()' operator evaluates the size of a pointer to a class, but not the size of the 'tvs[0].vval.v_list' class object. |

General Analysis | strings.c:596 | High |
V568 | It's odd that 'sizeof()' operator evaluates the size of a pointer to a class, but not the size of the 'tvs[0].vval.v_dict' class object. |

General Analysis | strings.c:596 | High |
V568 | It's odd that 'sizeof()' operator evaluates the size of a pointer to a class, but not the size of the 'tvs[0].vval.v_partial' class object. |

General Analysis | syntax.c:3361 | Medium |
V1051 | Consider checking for misprints. It's possible that the 'arg_end' should be checked here. |

General Analysis | syntax.c:3550 | Medium |
V1051 | Consider checking for misprints. It's possible that the 'arg_end' should be checked here. |

General Analysis | tag.c:1187 | Medium |
V560 | A part of conditional expression is always true: rettv.vval.v_special == kSpecialVarNull. |

General Analysis | input.c:592 | Medium |
V1044 | Loop break conditions do not depend on the number of iterations. |

General Analysis | input.c:604 | Medium |
V1044 | Loop break conditions do not depend on the number of iterations. |

General Analysis | tui.c:1133 | Medium |
V751 | Parameter 'cols' is not used inside function body. |

General Analysis | tui.c:1850 | Medium |
V1051 | Consider checking for misprints. It's possible that the 'data->unibi_ext.set_cursor_style' should be checked here. |

General Analysis | tui.c:1877 | Medium |
V1051 | Consider checking for misprints. It's possible that the 'data->unibi_ext.set_cursor_style' should be checked here. |

General Analysis | tui.c:1895 | Medium |
V1051 | Consider checking for misprints. It's possible that the 'data->unibi_ext.set_cursor_style' should be checked here. |

General Analysis | undo.c:1021 | Medium |
V547 | Expression 'buf' is always true. |

General Analysis | streams-test.c:24 | Medium |
V507 | Pointer to local array 'args' is stored outside the scope of this array. Such a pointer will become invalid. |

General Analysis | rbuffer.c:10 | Medium |
V1044 | Loop break conditions do not depend on the number of iterations. |

General Analysis | rbuffer.c:18 | Medium |
V1044 | Loop break conditions do not depend on the number of iterations. |