http: http_state_wait_server_reply fix 12/41612/1
authorMatus Fabian <[email protected]>
Mon, 30 Sep 2024 11:52:12 +0000 (13:52 +0200)
committerMatus Fabian <[email protected]>
Mon, 30 Sep 2024 11:54:37 +0000 (13:54 +0200)
We enqueue 2 segments to app, first is masg (http_msg_t) and second
as much as possible of the raw data, so it must be:
max_enq - sizeof (msg)

Type: fix

Change-Id: Ib7ece7e0ad1aac99d687d49149f1bccea599b10f
Signed-off-by: Matus Fabian <[email protected]>
src/plugins/http/http.c

index 4f741c2..f1f59b4 100644 (file)
@@ -955,6 +955,7 @@ http_state_wait_server_reply (http_conn_t *hc, transport_send_params_t *sp)
    * if there is some space send also portion of body */
   as = session_get_from_handle (hc->h_pa_session_handle);
   max_enq = svm_fifo_max_enqueue (as->rx_fifo);
+  max_enq -= sizeof (msg);
   if (max_enq < hc->control_data_len)
     {
       clib_warning ("not enough room for control data in app's rx fifo");