Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
char imei_temp[14] = {0, }; strcpy(imei_temp, "00000000000000");
私の理解によれば、これは有効なコードです。
しかし、Klocworkはバッファオーバーフローを言っています。' imei_temp'の配列インデックスは範囲外である可能性があります。サイズ14の配列' imei_temp'は、インデックス値0..14を使用できます。
imei_temp
バッファが14バイトであるため、バッファオーバーフローですが、15バイトを書き込んでいます:14個のASCII「0」と最後にヌルバイト。
sを使用して文字列を指定すると、文字列の最後に"暗黙的に追加\0され、15バイトを14バイトのバッファにコピーしようとします。
"
\0
sを使用して文字を指定した場合、これは発生しないことに注意してください'。
'