Why Polyspace Code Prover does not consider 'memcpy' declaration in default way & for that I am getting MISRA C violations of Rule 17.3?
3 次查看(过去 30 天)
显示 更早的评论
While performing static code analysis by using Polyspace Code Prover Tool, I am facing the below violation
'A function shall not be declared implicitly.
Function 'memcpy' has no visible prototype when called.
And the options compiler type is 'tasking' , C standard version is defined-by-compiler are configured in polyspace
Why polyspace does not consider memcpy declaraion as in default way and How to resolve the issue.
0 个评论
回答(1 个)
Anirban
2022-6-28
Is it possible that you have not #include-d the header string.h in the source file that has the memcpy usage?
For instance, this small code will show a violation of rule 17.3 if you remove the line #include <string.h> :
#include <stdio.h>
#include <string.h>
int main () {
const char src[50] = "Hello";
char dest[50];
memcpy(dest, src, strlen(src)+1);
return(0);
}
If this is the case, your analysis log should also contain a warning :
Warning: the prototype for function 'memcpy' is unknown
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Running Static Analysis Along With Tests 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!