PVS static analyzer - 5.0 Release: Difference between revisions

Jump to navigation Jump to search
m (Mark bug fixed)
 
(6 intermediate revisions by one other user not shown)
Line 6,843: Line 6,843:
     </tr>
     </tr>
     <tr>
     <tr>
       <td style='width: 30%;'><div title="/home/pavel/octave/libinterp/corefcn/ls-hdf5.cc">ls-hdf5.cc (1011)</div></td>
       <td style='width: 30%; text-decoration: line-through;'><div title="/home/pavel/octave/libinterp/corefcn/ls-hdf5.cc">ls-hdf5.cc (1011)</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 'retval &gt;= 0' is always true.</td>
       <td style='width: 65%;'>Expression 'retval &gt;= 0' is always true.</td>
Line 6,898: Line 6,898:
     </tr>
     </tr>
     <tr>
     <tr>
       <td style='width: 30%;'><div title="/home/pavel/octave/libinterp/corefcn/lu.cc">lu.cc (171)</div></td>
       <td style='width: 30%; text-decoration: line-through;'><div title="/home/pavel/octave/libinterp/corefcn/lu.cc">lu.cc (171)</div></td>
       <td style='width: 5%;'>[https://www.viva64.com/en/w/v656/ V656]</td>
       <td style='width: 5%;'>[https://www.viva64.com/en/w/v656/ V656]</td>
       <td style='width: 65%;'>Variables 'thres(0)', 'thres(1)' are initialized through the call to the same function. It's probably an error or un-optimized code. Consider inspecting the 'tmp(0)' expression. Check lines: 170, 171.</td>
       <td style='width: 65%;'>Variables 'thres(0)', 'thres(1)' are initialized through the call to the same function. It's probably an error or un-optimized code. Consider inspecting the 'tmp(0)' expression. Check lines: 170, 171.</td>
Line 9,408: Line 9,408:
     </tr>
     </tr>
     <tr>
     <tr>
       <td style='width: 30%;'><div title="/home/pavel/octave/liboctave/array/fDiagMatrix.cc">fDiagMatrix.cc (173)</div></td>
       <td style='width: 30%; text-decoration: line-through;'><div title="/home/pavel/octave/liboctave/array/fDiagMatrix.cc">fDiagMatrix.cc (173)</div></td>
       <td style='width: 5%;'>[https://www.viva64.com/en/w/v728/ V728]</td>
       <td style='width: 5%;'>[https://www.viva64.com/en/w/v728/ V728]</td>
       <td style='width: 65%;'>An excessive check can be simplified. The '||' operator is surrounded by opposite expressions 'r &lt;= c' and 'r &gt; c'. </td>
       <td style='width: 65%;'>An excessive check can be simplified. The '||' operator is surrounded by opposite expressions 'r &lt;= c' and 'r &gt; c'. </td>
     </tr>
     </tr>
     <tr>
     <tr>
       <td style='width: 30%;'><div title="/home/pavel/octave/liboctave/array/fDiagMatrix.cc">fDiagMatrix.cc (185)</div></td>
       <td style='width: 30%; text-decoration: line-through;'><div title="/home/pavel/octave/liboctave/array/fDiagMatrix.cc">fDiagMatrix.cc (185)</div></td>
       <td style='width: 5%;'>[https://www.viva64.com/en/w/v1004/ V1004]</td>
       <td style='width: 5%;'>[https://www.viva64.com/en/w/v1004/ V1004]</td>
       <td style='width: 65%;'>The 's' pointer was used unsafely after it was verified against nullptr. Check lines: 182, 185.</td>
       <td style='width: 65%;'>The 's' pointer was used unsafely after it was verified against nullptr. Check lines: 182, 185.</td>
     </tr>
     </tr>
     <tr>
     <tr>
       <td style='width: 30%;'><div title="/home/pavel/octave/liboctave/array/fDiagMatrix.cc">fDiagMatrix.cc (192)</div></td>
       <td style='width: 30%; text-decoration: line-through;'><div title="/home/pavel/octave/liboctave/array/fDiagMatrix.cc">fDiagMatrix.cc (192)</div></td>
       <td style='width: 5%;'>[https://www.viva64.com/en/w/v591/ V591]</td>
       <td style='width: 5%;'>[https://www.viva64.com/en/w/v591/ V591]</td>
       <td style='width: 65%;'>Non-void function should return a value.</td>
       <td style='width: 65%;'>Non-void function should return a value.</td>
     </tr>
     </tr>
     <tr>
     <tr>
       <td style='width: 30%;'><div title="/home/pavel/octave/liboctave/array/fDiagMatrix.cc">fDiagMatrix.cc (203)</div></td>
       <td style='width: 30%; text-decoration: line-through;'><div title="/home/pavel/octave/liboctave/array/fDiagMatrix.cc">fDiagMatrix.cc (203)</div></td>
       <td style='width: 5%;'>[https://www.viva64.com/en/w/v728/ V728]</td>
       <td style='width: 5%;'>[https://www.viva64.com/en/w/v728/ V728]</td>
       <td style='width: 65%;'>An excessive check can be simplified. The '||' operator is surrounded by opposite expressions 'r &gt;= c' and 'r &lt; c'. </td>
       <td style='width: 65%;'>An excessive check can be simplified. The '||' operator is surrounded by opposite expressions 'r &gt;= c' and 'r &lt; c'. </td>
     </tr>
     </tr>
     <tr>
     <tr>
       <td style='width: 30%;'><div title="/home/pavel/octave/liboctave/array/fDiagMatrix.cc">fDiagMatrix.cc (215)</div></td>
       <td style='width: 30%; text-decoration: line-through;'><div title="/home/pavel/octave/liboctave/array/fDiagMatrix.cc">fDiagMatrix.cc (215)</div></td>
       <td style='width: 5%;'>[https://www.viva64.com/en/w/v1004/ V1004]</td>
       <td style='width: 5%;'>[https://www.viva64.com/en/w/v1004/ V1004]</td>
       <td style='width: 65%;'>The 's' pointer was used unsafely after it was verified against nullptr. Check lines: 212, 215.</td>
       <td style='width: 65%;'>The 's' pointer was used unsafely after it was verified against nullptr. Check lines: 212, 215.</td>
     </tr>
     </tr>
     <tr>
     <tr>
       <td style='width: 30%;'><div title="/home/pavel/octave/liboctave/array/fDiagMatrix.cc">fDiagMatrix.cc (222)</div></td>
       <td style='width: 30%; text-decoration: line-through;'><div title="/home/pavel/octave/liboctave/array/fDiagMatrix.cc">fDiagMatrix.cc (222)</div></td>
       <td style='width: 5%;'>[https://www.viva64.com/en/w/v591/ V591]</td>
       <td style='width: 5%;'>[https://www.viva64.com/en/w/v591/ V591]</td>
       <td style='width: 65%;'>Non-void function should return a value.</td>
       <td style='width: 65%;'>Non-void function should return a value.</td>
     </tr>
     </tr>
     <tr>
     <tr>
       <td style='width: 30%;'><div title="/home/pavel/octave/liboctave/array/fDiagMatrix.cc">fDiagMatrix.cc (266)</div></td>
       <td style='width: 30%; text-decoration: line-through;'><div title="/home/pavel/octave/liboctave/array/fDiagMatrix.cc">fDiagMatrix.cc (266)</div></td>
       <td style='width: 5%;'>[https://www.viva64.com/en/w/v550/ V550]</td>
       <td style='width: 5%;'>[https://www.viva64.com/en/w/v550/ V550]</td>
       <td style='width: 65%;'>An odd precise comparison: val == 0.0f. It's probably better to use a comparison with defined precision: fabs(A - B) &lt; Epsilon.</td>
       <td style='width: 65%;'>An odd precise comparison: val == 0.0f. It's probably better to use a comparison with defined precision: fabs(A - B) &lt; Epsilon.</td>
     </tr>
     </tr>
     <tr>
     <tr>
       <td style='width: 30%;'><div title="/home/pavel/octave/liboctave/array/fDiagMatrix.cc">fDiagMatrix.cc (326)</div></td>
       <td style='width: 30%; text-decoration: line-through;'><div title="/home/pavel/octave/liboctave/array/fDiagMatrix.cc">fDiagMatrix.cc (326)</div></td>
       <td style='width: 5%;'>[https://www.viva64.com/en/w/v550/ V550]</td>
       <td style='width: 5%;'>[https://www.viva64.com/en/w/v550/ V550]</td>
       <td style='width: 65%;'>An odd precise comparison: amx == 0. It's probably better to use a comparison with defined precision: fabs(A - B) &lt; Epsilon.</td>
       <td style='width: 65%;'>An odd precise comparison: amx == 0. It's probably better to use a comparison with defined precision: fabs(A - B) &lt; Epsilon.</td>
Line 9,928: Line 9,928:
     </tr>
     </tr>
     <tr>
     <tr>
       <td style='width: 30%;'><div title="/home/pavel/octave/liboctave/numeric/EIG.cc">EIG.cc (136)</div></td>
       <td style='width: 30%; text-decoration: line-through;'><div title="/home/pavel/octave/liboctave/numeric/EIG.cc">EIG.cc (136)</div></td>
       <td style='width: 5%;'>[https://www.viva64.com/en/w/v550/ V550]</td>
       <td style='width: 5%;'>[https://www.viva64.com/en/w/v550/ V550]</td>
       <td style='width: 65%;'>An odd precise comparison: wi.elem(j) == 0.0. It's probably better to use a comparison with defined precision: fabs(A - B) &lt; Epsilon.</td>
       <td style='width: 65%;'>An odd precise comparison: wi.elem(j) == 0.0. It's probably better to use a comparison with defined precision: fabs(A - B) &lt; Epsilon.</td>
     </tr>
     </tr>
     <tr>
     <tr>
       <td style='width: 30%;'><div title="/home/pavel/octave/liboctave/numeric/EIG.cc">EIG.cc (490)</div></td>
       <td style='width: 30%; text-decoration: line-through;'><div title="/home/pavel/octave/liboctave/numeric/EIG.cc">EIG.cc (490)</div></td>
       <td style='width: 5%;'>[https://www.viva64.com/en/w/v550/ V550]</td>
       <td style='width: 5%;'>[https://www.viva64.com/en/w/v550/ V550]</td>
       <td style='width: 65%;'>An odd precise comparison: ai.elem(j) == 0.0. It's probably better to use a comparison with defined precision: fabs(A - B) &lt; Epsilon.</td>
       <td style='width: 65%;'>An odd precise comparison: ai.elem(j) == 0.0. It's probably better to use a comparison with defined precision: fabs(A - B) &lt; Epsilon.</td>
Line 9,953: Line 9,953:
     </tr>
     </tr>
     <tr>
     <tr>
       <td style='width: 30%;'><div title="/home/pavel/octave/liboctave/numeric/LSODE.cc">LSODE.cc (440)</div></td>
       <td style='width: 30%; text-decoration: line-through;'><div title="/home/pavel/octave/liboctave/numeric/LSODE.cc">LSODE.cc (440)</div></td>
       <td style='width: 5%;'>[https://www.viva64.com/en/w/v550/ V550]</td>
       <td style='width: 5%;'>[https://www.viva64.com/en/w/v550/ V550]</td>
       <td style='width: 65%;'>An odd precise comparison: next_crit == next_out. It's probably better to use a comparison with defined precision: fabs(A - B) &lt; Epsilon.</td>
       <td style='width: 65%;'>An odd precise comparison: next_crit == next_out. It's probably better to use a comparison with defined precision: fabs(A - B) &lt; Epsilon.</td>
Line 10,358: Line 10,358:
     </tr>
     </tr>
     <tr>
     <tr>
       <td style='width: 30%;'><div title="/home/pavel/octave/liboctave/numeric/oct-norm.cc">oct-norm.cc (466)</div></td>
       <td style='width: 30%; text-decoration: line-through;'><div title="/home/pavel/octave/liboctave/numeric/oct-norm.cc">oct-norm.cc (466)</div></td>
       <td style='width: 5%;'>[https://www.viva64.com/en/w/v764/ V764]</td>
       <td style='width: 5%;'>[https://www.viva64.com/en/w/v764/ V764]</td>
       <td style='width: 65%;'>Possible incorrect order of arguments passed to 'dual_p' function: 'q' and 'p'.</td>
       <td style='width: 65%;'>Possible incorrect order of arguments passed to 'dual_p' function: 'q' and 'p'.</td>
Line 10,523: Line 10,523:
     </tr>
     </tr>
     <tr>
     <tr>
       <td style='width: 30%;'><div title="/home/pavel/octave/liboctave/system/lo-sysdep.cc">lo-sysdep.cc (173)</div></td>
       <td style='width: 30%; text-decoration: line-through;'><div title="/home/pavel/octave/liboctave/system/lo-sysdep.cc">lo-sysdep.cc (173)</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 'sprintf' function. Inspect the first argument. Check lines: 173, 171.</td>
       <td style='width: 65%;'>The potential null pointer is passed into 'sprintf' function. Inspect the first argument. Check lines: 173, 171.</td>
     </tr>
     </tr>
     <tr>
     <tr>
       <td style='width: 30%;'><div title="/home/pavel/octave/liboctave/system/lo-sysinfo.cc">lo-sysinfo.cc (69)</div></td>
       <td style='width: 30%; text-decoration: line-through;'><div title="/home/pavel/octave/liboctave/system/lo-sysinfo.cc">lo-sysinfo.cc (69)</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 '!retval.empty()' is always false.</td>
       <td style='width: 65%;'>Expression '!retval.empty()' is always false.</td>
Line 10,758: Line 10,758:
     </tr>
     </tr>
     <tr>
     <tr>
       <td style='width: 30%;'><div title="/home/pavel/octave/liboctave/util/oct-mutex.cc">oct-mutex.cc (45)</div></td>
       <td style='width: 30%; text-decoration: line-through;'><div title="/home/pavel/octave/liboctave/util/oct-mutex.cc">oct-mutex.cc (45)</div></td>
       <td style='width: 5%;'>[https://www.viva64.com/en/w/v524/ V524]</td>
       <td style='width: 5%;'>[https://www.viva64.com/en/w/v524/ V524]</td>
       <td style='width: 65%;'>It is odd that the body of 'unlock' function is fully equivalent to the body of 'lock' function.</td>
       <td style='width: 65%;'>It is odd that the body of 'unlock' function is fully equivalent to the body of 'lock' function.</td>
Line 11,314: Line 11,314:


   </table>
   </table>
[[Category:Releases]]

Navigation menu