mirror of
https://github.com/lwip-tcpip/lwip.git
synced 2024-12-28 09:19:53 +00:00
Fixed bug #47154 lwip_netconn_do_writemore doesn't clear conn->write_offset on fatal/routing error.
This commit is contained in:
parent
e4cac595c2
commit
9a97a80efc
@ -1498,7 +1498,6 @@ err_mem:
|
|||||||
conn->current_msg->msg.w.len = conn->write_offset;
|
conn->current_msg->msg.w.len = conn->write_offset;
|
||||||
/* everything was written */
|
/* everything was written */
|
||||||
write_finished = 1;
|
write_finished = 1;
|
||||||
conn->write_offset = 0;
|
|
||||||
}
|
}
|
||||||
out_err = tcp_output(conn->pcb.tcp);
|
out_err = tcp_output(conn->pcb.tcp);
|
||||||
if (ERR_IS_FATAL(out_err) || (out_err == ERR_RTE)) {
|
if (ERR_IS_FATAL(out_err) || (out_err == ERR_RTE)) {
|
||||||
@ -1538,6 +1537,7 @@ err_mem:
|
|||||||
sys_sem_t* op_completed_sem = LWIP_API_MSG_SEM(conn->current_msg);
|
sys_sem_t* op_completed_sem = LWIP_API_MSG_SEM(conn->current_msg);
|
||||||
conn->current_msg->err = err;
|
conn->current_msg->err = err;
|
||||||
conn->current_msg = NULL;
|
conn->current_msg = NULL;
|
||||||
|
conn->write_offset = 0;
|
||||||
conn->state = NETCONN_NONE;
|
conn->state = NETCONN_NONE;
|
||||||
NETCONN_SET_SAFE_ERR(conn, err);
|
NETCONN_SET_SAFE_ERR(conn, err);
|
||||||
#if LWIP_TCPIP_CORE_LOCKING
|
#if LWIP_TCPIP_CORE_LOCKING
|
||||||
|
Loading…
Reference in New Issue
Block a user