Editing PVS static analyzer - 5.0 Release
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 98: | Line 98: | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td style='width: 30% | <td style='width: 30%;'><div title="/home/pavel/octave/libgnu/canonicalize.c">canonicalize.c (161)</div></td> | ||
<td style='width: 5%;'>[https://www.viva64.com/en/w/v547/ V547]</td> | <td style='width: 5%;'>[https://www.viva64.com/en/w/v547/ V547]</td> | ||
<td style='width: 65%;'>Expression 'prefix_len' is always false.</td> | <td style='width: 65%;'>Expression 'prefix_len' is always false.</td> | ||
Line 108: | Line 108: | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td style='width: 30% | <td style='width: 30%;'><div title="/home/pavel/octave/libgnu/careadlinkat.c">careadlinkat.c (145)</div></td> | ||
<td style='width: 5%;'>[https://www.viva64.com/en/w/v547/ V547]</td> | <td style='width: 5%;'>[https://www.viva64.com/en/w/v547/ V547]</td> | ||
<td style='width: 65%;'>Expression 'buf_size_max < (18446744073709551615UL)' is always true.</td> | <td style='width: 65%;'>Expression 'buf_size_max < (18446744073709551615UL)' is always true.</td> | ||
Line 118: | Line 118: | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td style='width: 30% | <td style='width: 30%;'><div title="/home/pavel/octave/libgnu/md4.c">md4.c (245)</div></td> | ||
<td style='width: 5%;'>[https://www.viva64.com/en/w/v512/ V512]</td> | <td style='width: 5%;'>[https://www.viva64.com/en/w/v512/ V512]</td> | ||
<td style='width: 65%;'>A call of the 'memcpy' function will lead to underflow of the buffer 'ctx->buffer'.</td> | <td style='width: 65%;'>A call of the 'memcpy' function will lead to underflow of the buffer 'ctx->buffer'.</td> | ||
Line 128: | Line 128: | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td style='width: 30% | <td style='width: 30%;'><div title="/home/pavel/octave/libgnu/md5.c">md5.c (316)</div></td> | ||
<td style='width: 5%;'>[https://www.viva64.com/en/w/v1003/ V1003]</td> | <td style='width: 5%;'>[https://www.viva64.com/en/w/v1003/ V1003]</td> | ||
<td style='width: 65%;'>The macro 'FF' is a dangerous expression. The parameters 'b', 'c', 'd' must be surrounded by parentheses.</td> | <td style='width: 65%;'>The macro 'FF' is a dangerous expression. The parameters 'b', 'c', 'd' must be surrounded by parentheses.</td> | ||
Line 138: | Line 138: | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td style='width: 30% | <td style='width: 30%;'><div title="/home/pavel/octave/libgnu/md5.c">md5.c (319)</div></td> | ||
<td style='width: 5%;'>[https://www.viva64.com/en/w/v1003/ V1003]</td> | <td style='width: 5%;'>[https://www.viva64.com/en/w/v1003/ V1003]</td> | ||
<td style='width: 65%;'>The macro 'FI' is a dangerous expression. The parameters 'b', 'c', 'd' must be surrounded by parentheses.</td> | <td style='width: 65%;'>The macro 'FI' is a dangerous expression. The parameters 'b', 'c', 'd' must be surrounded by parentheses.</td> | ||
Line 148: | Line 148: | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td style='width: 30% | <td style='width: 30%;'><div title="/home/pavel/octave/libgnu/sha1.c">sha1.c (266)</div></td> | ||
<td style='width: 5%;'>[https://www.viva64.com/en/w/v512/ V512]</td> | <td style='width: 5%;'>[https://www.viva64.com/en/w/v512/ V512]</td> | ||
<td style='width: 65%;'>A call of the 'memcpy' function will lead to underflow of the buffer 'ctx->buffer'.</td> | <td style='width: 65%;'>A call of the 'memcpy' function will lead to underflow of the buffer 'ctx->buffer'.</td> | ||
Line 158: | Line 158: | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td style='width: 30% | <td style='width: 30%;'><div title="/home/pavel/octave/libgnu/sha1.c">sha1.c (308)</div></td> | ||
<td style='width: 5%;'>[https://www.viva64.com/en/w/v1003/ V1003]</td> | <td style='width: 5%;'>[https://www.viva64.com/en/w/v1003/ V1003]</td> | ||
<td style='width: 65%;'>The macro 'F2' is a dangerous expression. The parameters 'B', 'C', 'D' must be surrounded by parentheses.</td> | <td style='width: 65%;'>The macro 'F2' is a dangerous expression. The parameters 'B', 'C', 'D' must be surrounded by parentheses.</td> | ||
Line 168: | Line 168: | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td style='width: 30% | <td style='width: 30%;'><div title="/home/pavel/octave/libgnu/sha1.c">sha1.c (310)</div></td> | ||
<td style='width: 5%;'>[https://www.viva64.com/en/w/v1003/ V1003]</td> | <td style='width: 5%;'>[https://www.viva64.com/en/w/v1003/ V1003]</td> | ||
<td style='width: 65%;'>The macro 'F4' is a dangerous expression. The parameters 'B', 'C', 'D' must be surrounded by parentheses.</td> | <td style='width: 65%;'>The macro 'F4' is a dangerous expression. The parameters 'B', 'C', 'D' must be surrounded by parentheses.</td> | ||
Line 178: | Line 178: | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td style='width: 30% | <td style='width: 30%;'><div title="/home/pavel/octave/libgnu/sha256.c">sha256.c (185)</div></td> | ||
<td style='width: 5%;'>[https://www.viva64.com/en/w/v785/ V785]</td> | <td style='width: 5%;'>[https://www.viva64.com/en/w/v785/ V785]</td> | ||
<td style='width: 65%;'>Constant expression in switch statement.</td> | <td style='width: 65%;'>Constant expression in switch statement.</td> | ||
Line 188: | Line 188: | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td style='width: 30% | <td style='width: 30%;'><div title="/home/pavel/octave/libgnu/sha256.c">sha256.c (401)</div></td> | ||
<td style='width: 5%;'>[https://www.viva64.com/en/w/v1003/ V1003]</td> | <td style='width: 5%;'>[https://www.viva64.com/en/w/v1003/ V1003]</td> | ||
<td style='width: 65%;'>The macro 'F2' is a dangerous expression. The parameters 'A', 'B', 'C' must be surrounded by parentheses.</td> | <td style='width: 65%;'>The macro 'F2' is a dangerous expression. The parameters 'A', 'B', 'C' must be surrounded by parentheses.</td> | ||
Line 198: | Line 198: | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td style='width: 30% | <td style='width: 30%;'><div title="/home/pavel/octave/libgnu/sha256.c">sha256.c (432)</div></td> | ||
<td style='width: 5%;'>[https://www.viva64.com/en/w/v1003/ V1003]</td> | <td style='width: 5%;'>[https://www.viva64.com/en/w/v1003/ V1003]</td> | ||
<td style='width: 65%;'>The macro 'S0' is a dangerous expression. The parameter 'x' must be surrounded by parentheses.</td> | <td style='width: 65%;'>The macro 'S0' is a dangerous expression. The parameter 'x' must be surrounded by parentheses.</td> | ||
Line 208: | Line 208: | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td style='width: 30% | <td style='width: 30%;'><div title="/home/pavel/octave/libgnu/sha256.c">sha256.c (437)</div></td> | ||
<td style='width: 5%;'>[https://www.viva64.com/en/w/v1003/ V1003]</td> | <td style='width: 5%;'>[https://www.viva64.com/en/w/v1003/ V1003]</td> | ||
<td style='width: 65%;'>The macro 'M' is a dangerous expression. The parameter 'I' must be surrounded by parentheses.</td> | <td style='width: 65%;'>The macro 'M' is a dangerous expression. The parameter 'I' must be surrounded by parentheses.</td> | ||
Line 218: | Line 218: | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td style='width: 30% | <td style='width: 30%;'><div title="/home/pavel/octave/libgnu/sha512.c">sha512.c (346)</div></td> | ||
<td style='width: 5%;'>[https://www.viva64.com/en/w/v512/ V512]</td> | <td style='width: 5%;'>[https://www.viva64.com/en/w/v512/ V512]</td> | ||
<td style='width: 65%;'>A call of the 'memcpy' function will lead to underflow of the buffer 'ctx->buffer'.</td> | <td style='width: 65%;'>A call of the 'memcpy' function will lead to underflow of the buffer 'ctx->buffer'.</td> | ||
Line 228: | Line 228: | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td style='width: 30% | <td style='width: 30%;'><div title="/home/pavel/octave/libgnu/dirname-lgpl.c">dirname-lgpl.c (38)</div></td> | ||
<td style='width: 5%;'>[https://www.viva64.com/en/w/v547/ V547]</td> | <td style='width: 5%;'>[https://www.viva64.com/en/w/v547/ V547]</td> | ||
<td style='width: 65%;'>Expression 'prefix_length != 0' is always false.</td> | <td style='width: 65%;'>Expression 'prefix_length != 0' is always false.</td> | ||
Line 238: | Line 238: | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td style='width: 30% | <td style='width: 30%;'><div title="/home/pavel/octave/libgnu/basename-lgpl.c">basename-lgpl.c (70)</div></td> | ||
<td style='width: 5%;'>[https://www.viva64.com/en/w/v560/ V560]</td> | <td style='width: 5%;'>[https://www.viva64.com/en/w/v560/ V560]</td> | ||
<td style='width: 65%;'>A part of conditional expression is always false: prefix_len.</td> | <td style='width: 65%;'>A part of conditional expression is always false: prefix_len.</td> | ||
Line 283: | Line 283: | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td style='width: 30% | <td style='width: 30%;'><div title="/home/pavel/octave/libgnu/gettext.h">gettext.h (235)</div></td> | ||
<td style='width: 5%;'>[https://www.viva64.com/en/w/v547/ V547]</td> | <td style='width: 5%;'>[https://www.viva64.com/en/w/v547/ V547]</td> | ||
<td style='width: 65%;'>Expression 'translation != msg_ctxt_id' is always false.</td> | <td style='width: 65%;'>Expression 'translation != msg_ctxt_id' is always false.</td> | ||
Line 293: | Line 293: | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td style='width: 30% | <td style='width: 30%;'><div title="/home/pavel/octave/libgnu/gettext.h">gettext.h (240)</div></td> | ||
<td style='width: 5%;'>[https://www.viva64.com/en/w/v547/ V547]</td> | <td style='width: 5%;'>[https://www.viva64.com/en/w/v547/ V547]</td> | ||
<td style='width: 65%;'>Expression 'found_translation' is always false.</td> | <td style='width: 65%;'>Expression 'found_translation' is always false.</td> | ||
Line 303: | Line 303: | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td style='width: 30% | <td style='width: 30%;'><div title="/home/pavel/octave/libgnu/tmpdir.c">tmpdir.c (133)</div></td> | ||
<td style='width: 5%;'>[https://www.viva64.com/en/w/v549/ V549]</td> | <td style='width: 5%;'>[https://www.viva64.com/en/w/v549/ V549]</td> | ||
<td style='width: 65%;'>The first argument of 'strcmp' function is equal to the second argument.</td> | <td style='width: 65%;'>The first argument of 'strcmp' function is equal to the second argument.</td> | ||
Line 313: | Line 313: | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td style='width: 30% | <td style='width: 30%;'><div title="/home/pavel/octave/libgnu/uniconv/u-conv-to-enc.h">u-conv-to-enc.h (62)</div></td> | ||
<td style='width: 5%;'>[https://www.viva64.com/en/w/v522/ V522]</td> | <td style='width: 5%;'>[https://www.viva64.com/en/w/v522/ V522]</td> | ||
<td style='width: 65%;'>There might be dereferencing of a potential null pointer 'scaled_offsets'.</td> | <td style='width: 65%;'>There might be dereferencing of a potential null pointer 'scaled_offsets'.</td> | ||
Line 323: | Line 323: | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td style='width: 30% | <td style='width: 30%;'><div title="/home/pavel/octave/libgnu/unistr/u8-to-u32.c">u8-to-u32.c (97)</div></td> | ||
<td style='width: 5%;'>[https://www.viva64.com/en/w/v522/ V522]</td> | <td style='width: 5%;'>[https://www.viva64.com/en/w/v522/ V522]</td> | ||
<td style='width: 65%;'>There might be dereferencing of a potential null pointer 'result'.</td> | <td style='width: 65%;'>There might be dereferencing of a potential null pointer 'result'.</td> | ||
Line 333: | Line 333: | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td style='width: 30% | <td style='width: 30%;'><div title="/home/pavel/octave/libgnu/xmalloc.c">xmalloc.c (61)</div></td> | ||
<td style='width: 5%;'>[https://www.viva64.com/en/w/v701/ V701]</td> | <td style='width: 5%;'>[https://www.viva64.com/en/w/v701/ V701]</td> | ||
<td style='width: 65%;'>realloc() possible leak: when realloc() fails in allocating memory, original pointer 'p' is lost. Consider assigning realloc() to a temporary pointer.</td> | <td style='width: 65%;'>realloc() possible leak: when realloc() fails in allocating memory, original pointer 'p' is lost. Consider assigning realloc() to a temporary pointer.</td> | ||
Line 343: | Line 343: | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td style='width: 30% | <td style='width: 30%;'><div title="/home/pavel/octave/libgnu/xmalloc.c">xmalloc.c (113)</div></td> | ||
<td style='width: 5%;'>[https://www.viva64.com/en/w/v575/ V575]</td> | <td style='width: 5%;'>[https://www.viva64.com/en/w/v575/ V575]</td> | ||
<td style='width: 65%;'>The potential null pointer is passed into 'memcpy' function. Inspect the first argument.</td> | <td style='width: 65%;'>The potential null pointer is passed into 'memcpy' function. Inspect the first argument.</td> | ||
Line 353: | Line 353: | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td style='width: 30% | <td style='width: 30%;'><div title="/home/pavel/octave/libgnu/mktime.c">mktime.c (142)</div></td> | ||
<td style='width: 5%;'>[https://www.viva64.com/en/w/v547/ V547]</td> | <td style='width: 5%;'>[https://www.viva64.com/en/w/v547/ V547]</td> | ||
<td style='width: 65%;'>Expression '- one >> 1 == - 1' is always true.</td> | <td style='width: 65%;'>Expression '- one >> 1 == - 1' is always true.</td> | ||
Line 363: | Line 363: | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td style='width: 30% | <td style='width: 30%;'><div title="/home/pavel/octave/libgnu/mktime.c">mktime.c (153)</div></td> | ||
<td style='width: 5%;'>[https://www.viva64.com/en/w/v547/ V547]</td> | <td style='width: 5%;'>[https://www.viva64.com/en/w/v547/ V547]</td> | ||
<td style='width: 65%;'>Expression is always false.</td> | <td style='width: 65%;'>Expression is always false.</td> | ||
Line 373: | Line 373: | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td style='width: 30% | <td style='width: 30%;'><div title="/home/pavel/octave/libgnu/mktime.c">mktime.c (275)</div></td> | ||
<td style='width: 5%;'>[https://www.viva64.com/en/w/v547/ V547]</td> | <td style='width: 5%;'>[https://www.viva64.com/en/w/v547/ V547]</td> | ||
<td style='width: 65%;'>Expression '* t <= mktime_max' is always true.</td> | <td style='width: 65%;'>Expression '* t <= mktime_max' is always true.</td> | ||
Line 383: | Line 383: | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td style='width: 30% | <td style='width: 30%;'><div title="/home/pavel/octave/libgnu/mktime.c">mktime.c (473)</div></td> | ||
<td style='width: 5%;'>[https://www.viva64.com/en/w/v560/ V560]</td> | <td style='width: 5%;'>[https://www.viva64.com/en/w/v560/ V560]</td> | ||
<td style='width: 65%;'>A part of conditional expression is always true: gt <= mktime_max.</td> | <td style='width: 65%;'>A part of conditional expression is always true: gt <= mktime_max.</td> | ||
Line 393: | Line 393: | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td style='width: 30% | <td style='width: 30%;'><div title="/home/pavel/octave/libgnu/mktime.c">mktime.c (506)</div></td> | ||
<td style='width: 5%;'>[https://www.viva64.com/en/w/v560/ V560]</td> | <td style='width: 5%;'>[https://www.viva64.com/en/w/v560/ V560]</td> | ||
<td style='width: 65%;'>A part of conditional expression is always true: t <= mktime_max.</td> | <td style='width: 65%;'>A part of conditional expression is always true: t <= mktime_max.</td> | ||
Line 403: | Line 403: | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td style='width: 30% | <td style='width: 30%;'><div title="/home/pavel/octave/libgnu/time_rz.c">time_rz.c (71)</div></td> | ||
<td style='width: 5%;'>[https://www.viva64.com/en/w/v564/ V564]</td> | <td style='width: 5%;'>[https://www.viva64.com/en/w/v564/ V564]</td> | ||
<td style='width: 65%;'>The '|' operator is applied to bool type value. You've probably forgotten to include parentheses or intended to use the '||' operator.</td> | <td style='width: 65%;'>The '|' operator is applied to bool type value. You've probably forgotten to include parentheses or intended to use the '||' operator.</td> | ||
Line 413: | Line 413: | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td style='width: 30% | <td style='width: 30%;'><div title="/home/pavel/octave/libgnu/vasnprintf.c">vasnprintf.c (1896)</div></td> | ||
<td style='width: 5%;'>[https://www.viva64.com/en/w/v769/ V769]</td> | <td style='width: 5%;'>[https://www.viva64.com/en/w/v769/ V769]</td> | ||
<td style='width: 65%;'>The 'result' pointer in the 'result + length' expression could be nullptr. In such case, resulting value will be senseless and it should not be used.</td> | <td style='width: 65%;'>The 'result' pointer in the 'result + length' expression could be nullptr. In such case, resulting value will be senseless and it should not be used.</td> | ||
Line 423: | Line 423: | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td style='width: 30% | <td style='width: 30%;'><div title="/home/pavel/octave/libgnu/vasnprintf.c">vasnprintf.c (4962)</div></td> | ||
<td style='width: 5%;'>[https://www.viva64.com/en/w/v501/ V501]</td> | <td style='width: 5%;'>[https://www.viva64.com/en/w/v501/ V501]</td> | ||
<td style='width: 65%;'>There are identical sub-expressions to the left and to the right of the '/' operator: sizeof (char) / sizeof (char)</td> | <td style='width: 65%;'>There are identical sub-expressions to the left and to the right of the '/' operator: sizeof (char) / sizeof (char)</td> | ||
Line 433: | Line 433: | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td style='width: 30% | <td style='width: 30%;'><div title="/home/pavel/octave/libgnu/vasnprintf.c">vasnprintf.c (4964)</div></td> | ||
<td style='width: 5%;'>[https://www.viva64.com/en/w/v501/ V501]</td> | <td style='width: 5%;'>[https://www.viva64.com/en/w/v501/ V501]</td> | ||
<td style='width: 65%;'>There are identical sub-expressions to the left and to the right of the '/' operator: sizeof (char) / sizeof (char)</td> | <td style='width: 65%;'>There are identical sub-expressions to the left and to the right of the '/' operator: sizeof (char) / sizeof (char)</td> | ||
Line 443: | Line 443: | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td style='width: 30% | <td style='width: 30%;'><div title="/home/pavel/octave/libgnu/vasnprintf.c">vasnprintf.c (5250)</div></td> | ||
<td style='width: 5%;'>[https://www.viva64.com/en/w/v501/ V501]</td> | <td style='width: 5%;'>[https://www.viva64.com/en/w/v501/ V501]</td> | ||
<td style='width: 65%;'>There are identical sub-expressions to the left and to the right of the '/' operator: sizeof (char) / sizeof (char)</td> | <td style='width: 65%;'>There are identical sub-expressions to the left and to the right of the '/' operator: sizeof (char) / sizeof (char)</td> | ||
Line 453: | Line 453: | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td style='width: 30% | <td style='width: 30%;'><div title="/home/pavel/octave/libgnu/vasnprintf.c">vasnprintf.c (1785)</div></td> | ||
<td style='width: 5%;'>[https://www.viva64.com/en/w/v553/ V553]</td> | <td style='width: 5%;'>[https://www.viva64.com/en/w/v553/ V553]</td> | ||
<td style='width: 65%;'>The length of 'vasnprintf' function's body is more than 2000 lines long. You should consider refactoring the code.</td> | <td style='width: 65%;'>The length of 'vasnprintf' function's body is more than 2000 lines long. You should consider refactoring the code.</td> |