Details
-
Type: Bug
-
Status: Closed
-
Priority: Major
-
Resolution: Fixed
-
Affects Version/s: V3.5.50.0
-
Fix Version/s: V3.5.52.0
-
Component/s: None
-
Labels:None
-
Account:SPC Profinet Slave (SPCPROFINE)
Description
Within the Edd HAL Adapter for Cut-Through-Switch an invalid type is used when calling rX_DdpGetExtendedDeviceData to retrieve the Mac Address:
GET_EXT_DEVICE_DATA_MAC_IN_T tIn;
|
tResult = rX_DdpGetExtendedDeviceData(EXT_DEVICE_DATA_TYPE_MACADDR,
|
sizeof(tIn),
|
&tIn,
|
sizeof(PND_MAC_ADDR_T),
|
&(tMacAddr[0]));
|
The type of the destination should be GET_EXT_DEVICE_DATA_MAC_OUT_T and not PND_MAC_ADDR_T. The problem occurs as the type GET_EXT_DEVICE_DATA_MAC_OUT_T is a structure whereas PND_MAC_ADDR_T is an array of 6 UINT8. The structures size is eight bytes while the size of PND_MAC_ADDR_T is six bytes. The functions checks the argument size and fails due too small argument size.