main.cには、がない場合、暗号化されたコンテンツを出力するコードのこの部分があります。それは本当に簡単です。C:Cppcheck:可能なヌルポイントの逆参照
CPPエラーがある:
でヌルであります[main.cの:40]:(エラー)考えられるヌルポインタ参照:暗号化 - それ以外の場合は、暗号化されたかどうかをチェックするために冗長であるライン31
コード:
char* encrypted = bmp_encrypt(key, text);
if(encrypted != NULL) //error points here (line 31)
{
printf("Encrypted:");
for(int i=0; i<strlen(text);i++)
{
printf("%x ", (unsigned char) encrypted[i]);
}
printf("\n");
}
else{printf("Encrypted:%s\n", encrypted);} //this is line 40
事は意図したように、その作業ですが、私を盗聴cppcheck続け、私はそれを修正する必要がありますか?これは間違っていますか?
あなたは40行目に取得した場合、 'encrypted'は間違いなくnullで、かつ' printfの(「暗号化: %s \ n "、encrypted)'は未定義の動作です。 – aschepler