mirror of https://github.com/ARMmbed/mbed-os.git
Merge pull request #12516 from artokin/stm32_emac_driver_to_feature_wisun
[feature-wisun] Update STM32 EMAC driver - limit RX frame lengthpull/12656/head
commit
b512574f41
|
@ -526,7 +526,7 @@ error:
|
||||||
int STM32_EMAC::low_level_input(emac_mem_buf_t **buf)
|
int STM32_EMAC::low_level_input(emac_mem_buf_t **buf)
|
||||||
#ifndef ETH_IP_VERSION_V2
|
#ifndef ETH_IP_VERSION_V2
|
||||||
{
|
{
|
||||||
uint16_t len = 0;
|
uint32_t len = 0;
|
||||||
uint8_t *buffer;
|
uint8_t *buffer;
|
||||||
__IO ETH_DMADescTypeDef *dmarxdesc;
|
__IO ETH_DMADescTypeDef *dmarxdesc;
|
||||||
uint32_t bufferoffset = 0;
|
uint32_t bufferoffset = 0;
|
||||||
|
@ -546,7 +546,7 @@ int STM32_EMAC::low_level_input(emac_mem_buf_t **buf)
|
||||||
|
|
||||||
dmarxdesc = EthHandle.RxFrameInfos.FSRxDesc;
|
dmarxdesc = EthHandle.RxFrameInfos.FSRxDesc;
|
||||||
|
|
||||||
if (len > 0) {
|
if (len > 0 && len <= ETH_RX_BUF_SIZE) {
|
||||||
/* Allocate a memory buffer chain from buffer pool */
|
/* Allocate a memory buffer chain from buffer pool */
|
||||||
*buf = memory_manager->alloc_pool(len, 0);
|
*buf = memory_manager->alloc_pool(len, 0);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue