アホな発想

長さが分からない/NULL終端が保証されていないchar型配列に対してstr系の関数を使うことは大変危険な訳です。そこでstr系関数に掛ける前にチェックする方法を考えてみました。
(考えた、ぢゃなくて仕事でやったコードからのピックアップでしょうが!!!)

/* チェック */
for( idx = 0, len = 0; idx < EXPECTED_MAX_LEN; idx++ )
{
    if( string[idx] )
        len++;
    else
        break;
}
if( len < EXPECTED_MAX_LEN )
{
    /* この中ではstringに対してstr系関数を使用しても一応、大丈夫? */
}

と、以上のように息巻いて思いついてみたものの、よく考えたらstrn系関数という選択肢を失念していました。あと、正直ダサいな、これ。
後になって振り返ってみたときの自虐用に。