チケット #33255

リアルサーバ削除時、削除後の要素へアクセスする箇所がある

登録: 2014-02-24 15:21 最終更新: 2014-03-26 11:05

報告者:
(匿名)
担当者:
チケットの種類:
状況:
完了
コンポーネント:
マイルストーン:
(未割り当て)
優先度:
5 - 中
重要度:
5 - 中
解決法:
修正済み
ファイル:
なし

詳細

virtualservice_tcp::del_realserver()内の処理で、
rs_listの要素を削除した後に、
その削除した要素のデータ(tcp_endpoint)にアクセスを行っている。

チケットの履歴 (4 件中 3 件表示)

2014-02-24 15:21 更新者: None
  • 新しいチケット "リアルサーバ削除時、削除後の要素へアクセスする箇所がある" が作成されました
2014-02-24 15:24 更新者: None
コメント
  • 修正案
    diff --git a/l7vsd/src/virtualservice_tcp.cpp b/l7vsd/src/virtualservice_tcp.cpp
    index af9a027..feb905f 100644
    --- a/l7vsd/src/virtualservice_tcp.cpp
    +++ b/l7vsd/src/virtualservice_tcp.cpp
    @@ -1530,8 +1530,9 @@ void l7vs::virtualservice_tcp::del_realserver(const l7vs::virtualservice_element
                     for (std::list<realserver>::iterator rs_itr = rs_list.begin();
                          rs_itr != rs_list.end(); ++rs_itr) {
                             if (itr->tcp_endpoint == rs_itr->tcp_endpoint) {
    +                                boost::asio::ip::tcp::endpoint del_endpoint = rs_itr->tcp_endpoint;
                                     rs_list.erase(rs_itr);
    -                                active_sessions.do_all(boost::bind(&session_thread_control::session_realserver_rem
    +                                active_sessions.do_all(boost::bind(&session_thread_control::session_realserver_rem
                                     break;
                             }
                     }
    
2014-02-24 15:28 更新者: None
コメント
修正案をmodify_del_rs_codeというブランチにpushしました。
http://sourceforge.jp/projects/ultramonkey-l7/scm/git/ultramonkey-l7-v3/commits/0fac6b368daa7b4458f3547761e8ff9e782c2a09
2014-03-26 11:05 更新者: hibari
  • 詳細が更新されました
  • 解決法なし から 修正済み に更新されました
  • 状況オープン から 完了 に更新されました
  • チケット完了時刻2014-03-26 11:05 に更新されました

添付ファイルリスト

添付ファイルはありません

編集

ログインしていません。ログインしていない状態では、コメントに記載者の記録が残りません。 » ログインする