From: Willy Tarreau Date: Mon, 7 Jun 2010 11:57:32 +0000 (+0200) Subject: [BUG] debug: wrong pointer was used to report a status line X-Git-Tag: v1.5-dev8~604 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=1ba0e5f4510bb9917699019d02eff315d9497006;p=thirdparty%2Fhaproxy.git [BUG] debug: wrong pointer was used to report a status line This would only be wrong when the server has not completely responded yet. Fix two other occurrences of wrong rsp<->sl associations which were harmless but wrong anyway. --- diff --git a/src/proto_http.c b/src/proto_http.c index 1362cf3131..ad95e569b9 100644 --- a/src/proto_http.c +++ b/src/proto_http.c @@ -4338,7 +4338,7 @@ int http_wait_for_response(struct session *s, struct buffer *rep, int an_bit) char *eol, *sol; sol = msg->sol; - eol = sol + msg->sl.rq.l; + eol = sol + msg->sl.st.l; debug_hdr("srvrep", s, sol, eol); sol += hdr_idx_first_pos(&txn->hdr_idx); @@ -5982,7 +5982,7 @@ int apply_filter_to_sts_line(struct session *t, struct buffer *rtr, struct hdr_e done = 0; cur_ptr = txn->rsp.sol; - cur_end = cur_ptr + txn->rsp.sl.rq.l; + cur_end = cur_ptr + txn->rsp.sl.st.l; /* Now we have the status line between cur_ptr and cur_end */ @@ -6028,7 +6028,7 @@ int apply_filter_to_sts_line(struct session *t, struct buffer *rtr, struct hdr_e * or an LF at . */ txn->status = strl2ui(txn->rsp.sol + txn->rsp.sl.st.c, txn->rsp.sl.st.c_l); - hdr_idx_set_start(&txn->hdr_idx, txn->rsp.sl.rq.l, *cur_end == '\r'); + hdr_idx_set_start(&txn->hdr_idx, txn->rsp.sl.st.l, *cur_end == '\r'); /* there is no point trying this regex on headers */ return 1; }