Repository: trafficserver Updated Branches: refs/heads/master 0924e5d72 -> 964cc4630
[TS-3265]: Fix spdy req_map access to use iterator instead of operator[] Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/fc9f6707 Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/fc9f6707 Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/fc9f6707 Branch: refs/heads/master Commit: fc9f67072a2ee949894f5d38abb30e1e556e9e26 Parents: 0924e5d Author: Sudheer Vinukonda <[email protected]> Authored: Sun Dec 28 18:05:48 2014 +0000 Committer: Sudheer Vinukonda <[email protected]> Committed: Sun Dec 28 18:05:48 2014 +0000 ---------------------------------------------------------------------- proxy/spdy/SpdyCallbacks.cc | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/trafficserver/blob/fc9f6707/proxy/spdy/SpdyCallbacks.cc ---------------------------------------------------------------------- diff --git a/proxy/spdy/SpdyCallbacks.cc b/proxy/spdy/SpdyCallbacks.cc index 4d1aceb..7d7605d 100644 --- a/proxy/spdy/SpdyCallbacks.cc +++ b/proxy/spdy/SpdyCallbacks.cc @@ -52,7 +52,11 @@ spdy_callbacks_init(spdylay_session_callbacks *callbacks) void spdy_prepare_status_response_and_clean_request(SpdyClientSession *sm, int stream_id, const char *status) { - SpdyRequest *req = sm->req_map[stream_id]; + SpdyRequest *req = sm->find_request(stream_id); + if (!req) { + Error ("spdy_prepare_status_response_and_clean_request, req object null for sm %" PRId64 ", stream_id %d", sm->sm_id, stream_id); + return; + } string date_str = http_date(time(0)); const char **nv = new const char*[8+req->headers.size()*2+1]; @@ -328,7 +332,11 @@ spdy_on_ctrl_recv_callback(spdylay_session *session, spdylay_frame_type type, case SPDYLAY_HEADERS: stream_id = frame->syn_stream.stream_id; - req = sm->req_map[stream_id]; + req = sm->find_request(stream_id); + if (!req) { + Error ("spdy_on_ctrl_recv_callback, req object null on SPDYLAY_HEADERS for sm %" PRId64 ", stream_id %d", sm->sm_id, stream_id); + return; + } req->append_nv(frame->headers.nv); break;
