mirror of
https://github.com/ipxe/ipxe
synced 2025-12-14 07:50:43 +03:00
[lacp] Ignore (and do not echo) trailing padding on received packets
The LACP responder reuses the received I/O buffer to construct the response LACP (or marker) packet. Any received padding will therefore be unintentionally included within the response. Truncate the received I/O buffer to the expected length (which is already defined in a way to allow for future protocol expansion) before reusing it to construct the response. Reported-by: Tore Anderson <tore@fud.no> Signed-off-by: Michael Brown <mcb30@ipxe.org>
This commit is contained in:
@@ -286,6 +286,9 @@ static int eth_slow_rx ( struct io_buffer *iobuf,
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
/* Strip any trailing padding */
|
||||
iob_unput ( iobuf, ( sizeof ( *eth_slow ) - iob_len ( iobuf ) ) );
|
||||
|
||||
/* Handle according to subtype */
|
||||
switch ( eth_slow->header.subtype ) {
|
||||
case ETH_SLOW_SUBTYPE_LACP:
|
||||
|
||||
Reference in New Issue
Block a user