メニュー
Infomation
■お知らせ
[スパム対策]コメントにURLを含めると自動的に削除されます。
■このサイトについて
一応残していますが、全時代の遺物。全ての情報は古く役に立ちません 連絡先:メールアドレス
■日記更新情報
RSSRSS|RSS(本文のみ)|lirs
実験&リサーチ
巡回先
製作環境
 

 



2004|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|11|12|
2011|01|
2014|05|08|
2017|07|
2018|03|
2020|08|10|
2021|11|

2008年06月12日(Thursday) [長年日記]

_ [日記] 勘違いには自分自身ではなかなか気づかない

C++で書いたソケット通信をするアプリがどうしても落ちる。

安定して動作が必要だったのでバッファのチェックからスタックまでくまなくチェックしたのに、なかなか悪いところが見つからない。


あきらめて一晩置いてもう一度みたらすぐに判明したよ・・。


unsigned char recv_buffer[sizeof(unsigned char)];

unsigned char method_size;

recv_data(&method_size,1);

recv_data(byRecvBuffer,method_size);


なんか1バイトで表されているデータの長さを格納するバッファをsizeof(char)=256だと訳のわからない勘違いしてしまったようだ・・・。

一度勘違いすると同じ人間ではなかなか気づかないもだなーと思いました。

こんな明らかな間違い人の書いたのだったらすぐ発見するのに。

実際にはsizeof(char)=1。

RFC読みながら実装してたら間違えた(いいわけ)


最近のコメント

364,000 at 2008.06.14
Copyright (c) Suika KNOnline.NET