Examples of errors detected by the V518 diagnostic

V518. The 'malloc' function allocates strange amount of memory calculated by 'strlen(expr)'. Perhaps the correct variant is strlen(expr) + 1.


FCEUX

V518 The 'realloc' function allocates strange amount of memory calculated by 'strlen(expr)'. Perhaps the correct variant is 'strlen(expr) + 1'. fceux cheat.cpp 609


int FCEUI_SetCheat(....)
{
  ...
  if((t=(char *)realloc(next->name,strlen(name+1))))
  ...
}

This is what should have been written here: strlen(name)+1.



Do you make errors in the code?

Check your code
with PVS-Studio

Static code analysis
for C, C++ and C#

goto PVS-Studio;