for (i=0; i <= strlen(cycleno); i++) {
    printf("%2x, ",cycleno[i]);
}

31, 32, 33, 34, 35, 36, 37, 38, 39, 30,  1, 42, 46, ffffff83,  4,  8,  0,

>>739-740
NULL文字かと思ったら別の制御文字だったです。
やっぱ隣りの無関係領域の'\0'出るまで読み込みでビンゴだったようです。
どうもありがとうです。

つまり
終端がNULL文字でない文字列にstrlenや%sをかけるのは不正アクセスを
引き起こすので普通やっちゃいけない、
・・・って結論でよいですかね ´∀`