Why Polyspace Code Prover does not consider 'memcpy' declaration in default way & for that I am getting MISRA C violations of Rule 17.3?
2 ビュー (過去 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 で Generate Report についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!