KUROSAWA Takahiro
takah****@gmail*****
2011年 3月 8日 (火) 07:17:18 JST
黒沢です. At Mon, 7 Mar 2011 19:21:34 +0900, yosuke takadate wrote: > &conn->cldata[20511]には文字列が格納されています。 > --- > (gdb) print &conn->cldata[20511] > $9 = 0x180920ef "4" > (gdb) print &conn->cldata[20480] > $7 = 0x180920d0 "94972114362627419947849511552144" > --- すみません,領域外への格納を見るのに,&conn->cldata[20511] を見るのは 適切でなかったです. ご提示くださった通り,&conn->cldata[20480] あたりを見る方が適切です. # &conn->cldata[20479] を確認するのが確実とは思います. > 原因がX-Forwarded-Forヘッダの追加による領域外アクセスならば > conn.c 253行目を以下のように変更すれば、もしかして問題は解決する > のでしょうか? > --- > conn->cldata = (char *)malloc(conn->cldata_bufsize); > --- > #define X_FORWARDED_FOR_LENGTH 48 > 〜 > conn->cldata = (char *)malloc(conn->cldata_bufsize + X_FORWARDED_FOR_LENGTH); > --- 自分が以前見た時点から受信部分のコードが結構変わっているので あまり自信はないですが,たぶんそれで問題は回避できそうに見えます.