mirror of
https://github.com/samba-team/samba.git
synced 2025-01-26 10:04:02 +03:00
fix process_incoming_data() to return the number of bytes handled this call whether we have a complete pdu or not; fixes bug with multiple pdu request rpc's broken over SMBwriteX calls each
(This used to be commit ff06f3ca8e597d093b8a76b5cfabfa6009f4b591)
This commit is contained in:
parent
903017b1ee
commit
16194fbc5a
@ -772,6 +772,7 @@ static ssize_t process_complete_pdu(pipes_struct *p)
|
||||
static ssize_t process_incoming_data(pipes_struct *p, char *data, size_t n)
|
||||
{
|
||||
size_t data_to_copy = MIN(n, MAX_PDU_FRAG_LEN - p->in_data.pdu_received_len);
|
||||
size_t old_pdu_received_len = p->in_data.pdu_received_len;
|
||||
|
||||
DEBUG(10,("process_incoming_data: Start: pdu_received_len = %u, pdu_needed_len = %u, incoming data = %u\n",
|
||||
(unsigned int)p->in_data.pdu_received_len, (unsigned int)p->in_data.pdu_needed_len,
|
||||
@ -831,10 +832,11 @@ incoming data size = %u\n", (unsigned int)p->in_data.pdu_received_len, (unsigned
|
||||
|
||||
/*
|
||||
* Do we have a complete PDU ?
|
||||
* (return the nym of bytes handled in the call)
|
||||
*/
|
||||
|
||||
if(p->in_data.pdu_received_len == p->in_data.pdu_needed_len)
|
||||
return process_complete_pdu(p);
|
||||
return process_complete_pdu(p) - old_pdu_received_len;
|
||||
|
||||
DEBUG(10,("process_incoming_data: not a complete PDU yet. pdu_received_len = %u, pdu_needed_len = %u\n",
|
||||
(unsigned int)p->in_data.pdu_received_len, (unsigned int)p->in_data.pdu_needed_len ));
|
||||
|
Loading…
x
Reference in New Issue
Block a user