With the support of multiple Rx buffers per QCS instance, stream
decoding in qcc_io_recv() has been reworked for the next haproxy
release. An issue appears in a double while loop : a break statement is
used in the inner loop, which is not sufficient as it should instead
exit from the outer one.
Fix this by replacing break with a goto statement.
No need to backport this.
LIST_DEL_INIT(&qcs->el_recv);
if (ret <= 0)
- break;
+ goto done;
}
}
+ done:
TRACE_LEAVE(QMUX_EV_QCC_RECV, qcc->conn);
return 0;
}