Skip to content

Commit dc6dd59

Browse files
authored
Merge pull request #5505 from LMESTM/fix_smartcard_HAL
STM32: HAL smartcard, fix memory corruption in Receive
2 parents 2f9cf47 + be42c6d commit dc6dd59

File tree

3 files changed

+3
-9
lines changed

3 files changed

+3
-9
lines changed

targets/TARGET_STM/TARGET_STM32F1/device/stm32f1xx_hal_smartcard.c

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -500,7 +500,6 @@ HAL_StatusTypeDef HAL_SMARTCARD_Transmit(SMARTCARD_HandleTypeDef *hsc, uint8_t *
500500
*/
501501
HAL_StatusTypeDef HAL_SMARTCARD_Receive(SMARTCARD_HandleTypeDef *hsc, uint8_t *pData, uint16_t Size, uint32_t Timeout)
502502
{
503-
uint16_t* tmp;
504503
uint32_t tickstart = 0U;
505504

506505
if(hsc->RxState == HAL_SMARTCARD_STATE_READY)
@@ -530,8 +529,7 @@ HAL_StatusTypeDef HAL_SMARTCARD_Receive(SMARTCARD_HandleTypeDef *hsc, uint8_t *p
530529
{
531530
return HAL_TIMEOUT;
532531
}
533-
tmp = (uint16_t*) pData;
534-
*tmp = (uint8_t)(hsc->Instance->DR & (uint8_t)0xFF);
532+
*pData = (uint8_t)(hsc->Instance->DR & (uint8_t)0xFF);
535533
pData +=1U;
536534
}
537535

targets/TARGET_STM/TARGET_STM32F2/device/stm32f2xx_hal_smartcard.c

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -496,7 +496,6 @@ HAL_StatusTypeDef HAL_SMARTCARD_Transmit(SMARTCARD_HandleTypeDef *hsc, uint8_t *
496496
*/
497497
HAL_StatusTypeDef HAL_SMARTCARD_Receive(SMARTCARD_HandleTypeDef *hsc, uint8_t *pData, uint16_t Size, uint32_t Timeout)
498498
{
499-
uint16_t* tmp;
500499
uint32_t tickstart = 0U;
501500

502501
if(hsc->RxState == HAL_SMARTCARD_STATE_READY)
@@ -526,8 +525,7 @@ HAL_StatusTypeDef HAL_SMARTCARD_Receive(SMARTCARD_HandleTypeDef *hsc, uint8_t *p
526525
{
527526
return HAL_TIMEOUT;
528527
}
529-
tmp = (uint16_t*) pData;
530-
*tmp = (uint8_t)(hsc->Instance->DR & (uint8_t)0xFF);
528+
*pData = (uint8_t)(hsc->Instance->DR & (uint8_t)0xFF);
531529
pData +=1U;
532530
}
533531

targets/TARGET_STM/TARGET_STM32F4/device/stm32f4xx_hal_smartcard.c

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -497,7 +497,6 @@ HAL_StatusTypeDef HAL_SMARTCARD_Transmit(SMARTCARD_HandleTypeDef *hsc, uint8_t *
497497
*/
498498
HAL_StatusTypeDef HAL_SMARTCARD_Receive(SMARTCARD_HandleTypeDef *hsc, uint8_t *pData, uint16_t Size, uint32_t Timeout)
499499
{
500-
uint16_t* tmp;
501500
uint32_t tickstart = 0U;
502501

503502
if(hsc->RxState == HAL_SMARTCARD_STATE_READY)
@@ -527,8 +526,7 @@ HAL_StatusTypeDef HAL_SMARTCARD_Receive(SMARTCARD_HandleTypeDef *hsc, uint8_t *p
527526
{
528527
return HAL_TIMEOUT;
529528
}
530-
tmp = (uint16_t*) pData;
531-
*tmp = (uint8_t)(hsc->Instance->DR & (uint8_t)0xFF);
529+
*pData = (uint8_t)(hsc->Instance->DR & (uint8_t)0xFF);
532530
pData +=1U;
533531
}
534532

0 commit comments

Comments
 (0)