mirror of
https://github.com/samba-team/samba.git
synced 2025-01-12 09:18:10 +03:00
Fix for a signing bug when the mid wraps.
Found by Fran Fabrizio <fran@cis.uab.edu>.
Add to the *start* of the list not the end of the list.
This ensures that the *last* send sequence with this mid
is returned by preference.
This can happen if the mid wraps and one of the early
mid numbers didn't get a reply and is still lurking on
the list.
Jeremy.
(This used to be commit 25d739978f
)
This commit is contained in:
parent
ad5817c3bf
commit
bb1119acca
@ -46,15 +46,23 @@ static void store_sequence_for_reply(struct outstanding_packet_lookup **list,
|
||||
uint16 mid, uint32 reply_seq_num)
|
||||
{
|
||||
struct outstanding_packet_lookup *t;
|
||||
struct outstanding_packet_lookup *tmp;
|
||||
|
||||
|
||||
t = smb_xmalloc(sizeof(*t));
|
||||
ZERO_STRUCTP(t);
|
||||
|
||||
DLIST_ADD_END(*list, t, tmp);
|
||||
t->mid = mid;
|
||||
t->reply_seq_num = reply_seq_num;
|
||||
|
||||
/*
|
||||
* Add to the *start* of the list not the end of the list.
|
||||
* This ensures that the *last* send sequence with this mid
|
||||
* is returned by preference.
|
||||
* This can happen if the mid wraps and one of the early
|
||||
* mid numbers didn't get a reply and is still lurking on
|
||||
* the list. JRA. Found by Fran Fabrizio <fran@cis.uab.edu>.
|
||||
*/
|
||||
|
||||
DLIST_ADD(*list, t);
|
||||
DEBUG(10,("store_sequence_for_reply: stored seq = %u mid = %u\n",
|
||||
(unsigned int)reply_seq_num, (unsigned int)mid ));
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user