dsp: platform: Bounds check encode_sensor_state_pdr()
```
../src/dsp/platform.c: In function ‘encode_state_sensor_pdr’:
../src/dsp/platform.c:152:9: error: use of attacker-controlled value ‘possible_states_size’ as size without upper-bounds checking [CWE-129] [-Werror=analyzer-tainted-size]
152 | memcpy(sensor->possible_states, possible_states, possible_states_size);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
Fixes: 9c76679224cf ("libpldm: Migrate to subproject")
Change-Id: I682beae26d346e474825a393da7b5248d3166fbf
Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 573b7eb..caeee60 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -47,6 +47,7 @@
- `decode_platform_event_message_resp()`
- `decode_sensor_op_data()`
- `encode_get_state_effecter_states_resp()`
+ - `encode_state_sensor_pdr()`
- `pldm_pdr_find_record()`
- `pldm_pdr_get_next_record()`
@@ -113,6 +114,7 @@
should be the previously retrieved eventID (from the PLDM terminus).
4. dsp: platform: Prevent overflow of arithmetic on event_data_length
+5. dsp: platform: Bounds check encode_sensor_state_pdr()
## [0.9.1] - 2024-09-07
diff --git a/abi/x86_64/gcc.dump b/abi/x86_64/gcc.dump
index c970544..6b47967 100644
--- a/abi/x86_64/gcc.dump
+++ b/abi/x86_64/gcc.dump
@@ -5261,7 +5261,7 @@
'Return' => '100',
'ShortName' => 'decode_entity_auxiliary_names_pdr'
},
- '100650' => {
+ '101718' => {
'Header' => 'platform.h',
'Line' => '1854',
'Param' => {
@@ -5271,7 +5271,7 @@
},
'1' => {
'name' => 'resp',
- 'type' => '101766'
+ 'type' => '102834'
},
'2' => {
'name' => 'msg',
@@ -5288,7 +5288,7 @@
'Return' => '100',
'ShortName' => 'encode_get_state_effecter_states_resp'
},
- '101781' => {
+ '102849' => {
'Header' => 'platform.h',
'Line' => '1837',
'Param' => {
@@ -5302,7 +5302,7 @@
},
'2' => {
'name' => 'resp',
- 'type' => '101766'
+ 'type' => '102834'
}
},
'Reg' => {
@@ -5311,7 +5311,7 @@
'Return' => '100',
'ShortName' => 'decode_get_state_effecter_states_resp'
},
- '102811' => {
+ '103879' => {
'Header' => 'platform.h',
'Line' => '1806',
'Param' => {
@@ -5331,7 +5331,7 @@
'Return' => '100',
'ShortName' => 'decode_get_state_effecter_states_req'
},
- '103450' => {
+ '104518' => {
'Header' => 'platform.h',
'Line' => '1820',
'Param' => {
@@ -5355,7 +5355,7 @@
'Return' => '100',
'ShortName' => 'encode_get_state_effecter_states_req'
},
- '120158' => {
+ '122268' => {
'Header' => 'platform.h',
'Line' => '1986',
'Param' => {
@@ -5412,7 +5412,7 @@
'Return' => '100',
'ShortName' => 'decode_poll_for_platform_event_message_resp'
},
- '122292' => {
+ '124402' => {
'Header' => 'platform.h',
'Line' => '1960',
'Param' => {
@@ -5449,7 +5449,7 @@
'Return' => '100',
'ShortName' => 'encode_poll_for_platform_event_message_req'
},
- '123390' => {
+ '125500' => {
'Header' => 'platform.h',
'Line' => '2430',
'Param' => {
@@ -5469,7 +5469,7 @@
'Return' => '100',
'ShortName' => 'encode_set_event_receiver_resp'
},
- '123563' => {
+ '125673' => {
'Header' => 'platform.h',
'Line' => '2416',
'Param' => {
@@ -5501,7 +5501,7 @@
'Return' => '100',
'ShortName' => 'decode_set_event_receiver_req'
},
- '124688' => {
+ '126798' => {
'Header' => 'platform.h',
'Line' => '2394',
'Param' => {
@@ -5526,7 +5526,7 @@
'Return' => '100',
'ShortName' => 'decode_set_event_receiver_resp'
},
- '125189' => {
+ '127299' => {
'Header' => 'platform.h',
'Line' => '2380',
'Param' => {
@@ -5558,7 +5558,7 @@
'Return' => '100',
'ShortName' => 'encode_set_event_receiver_req'
},
- '125447' => {
+ '127557' => {
'Header' => 'platform.h',
'Line' => '1501',
'Param' => {
@@ -5582,7 +5582,7 @@
'Return' => '100',
'ShortName' => 'decode_get_sensor_reading_req'
},
- '126274' => {
+ '128384' => {
'Header' => 'platform.h',
'Line' => '1527',
'Param' => {
@@ -5639,7 +5639,7 @@
'Return' => '100',
'ShortName' => 'encode_get_sensor_reading_resp'
},
- '126828' => {
+ '128938' => {
'Header' => 'platform.h',
'Line' => '2355',
'Param' => {
@@ -5691,7 +5691,7 @@
'Return' => '100',
'ShortName' => 'decode_get_sensor_reading_resp'
},
- '129557' => {
+ '131667' => {
'Header' => 'platform.h',
'Line' => '2330',
'Param' => {
@@ -5715,7 +5715,7 @@
'Return' => '100',
'ShortName' => 'encode_get_sensor_reading_req'
},
- '129775' => {
+ '131885' => {
'Header' => 'platform.h',
'Line' => '2311',
'Param' => {
@@ -5749,7 +5749,7 @@
'Return' => '100',
'ShortName' => 'decode_pldm_pdr_repository_change_record_data'
},
- '131237' => {
+ '133347' => {
'Header' => 'platform.h',
'Line' => '2217',
'Param' => {
@@ -5763,13 +5763,13 @@
},
'2' => {
'name' => 'poll_event',
- 'type' => '132247'
+ 'type' => '134357'
}
},
'Return' => '100',
'ShortName' => 'decode_pldm_message_poll_event_data'
},
- '132252' => {
+ '134362' => {
'Header' => 'platform.h',
'Line' => '2203',
'Param' => {
@@ -5803,7 +5803,7 @@
'Return' => '100',
'ShortName' => 'decode_pldm_pdr_repository_chg_event_data'
},
- '132929' => {
+ '135039' => {
'Header' => 'platform.h',
'Line' => '2265',
'Param' => {
@@ -5825,11 +5825,11 @@
},
'4' => {
'name' => 'change_entries',
- 'type' => '133248'
+ 'type' => '135358'
},
'5' => {
'name' => 'event_data',
- 'type' => '133263'
+ 'type' => '135373'
},
'6' => {
'name' => 'actual_change_records_size',
@@ -5853,7 +5853,7 @@
'Return' => '100',
'ShortName' => 'encode_pldm_pdr_repository_chg_event_data'
},
- '133273' => {
+ '135383' => {
'Header' => 'platform.h',
'Line' => '2181',
'Param' => {
@@ -5890,7 +5890,7 @@
'Return' => '100',
'ShortName' => 'decode_get_numeric_effecter_value_resp'
},
- '136742' => {
+ '138852' => {
'Header' => 'platform.h',
'Line' => '1458',
'Param' => {
@@ -5910,7 +5910,7 @@
'Return' => '100',
'ShortName' => 'decode_get_numeric_effecter_value_req'
},
- '137413' => {
+ '139523' => {
'Header' => 'platform.h',
'Line' => '1482',
'Param' => {
@@ -5952,7 +5952,7 @@
'Return' => '100',
'ShortName' => 'encode_get_numeric_effecter_value_resp'
},
- '138111' => {
+ '140221' => {
'Header' => 'platform.h',
'Line' => '2160',
'Param' => {
@@ -5972,7 +5972,7 @@
'Return' => '100',
'ShortName' => 'encode_get_numeric_effecter_value_req'
},
- '138309' => {
+ '140419' => {
'Header' => 'platform.h',
'Line' => '2145',
'Param' => {
@@ -5986,13 +5986,13 @@
},
'2' => {
'name' => 'pdr_value',
- 'type' => '162440'
+ 'type' => '165589'
}
},
'Return' => '100',
'ShortName' => 'decode_numeric_sensor_pdr_data'
},
- '162445' => {
+ '165594' => {
'Header' => 'platform.h',
'Line' => '2133',
'Param' => {
@@ -6028,7 +6028,7 @@
'Return' => '100',
'ShortName' => 'decode_numeric_sensor_data'
},
- '164535' => {
+ '167684' => {
'Header' => 'platform.h',
'Line' => '2112',
'Param' => {
@@ -6062,7 +6062,7 @@
'Return' => '100',
'ShortName' => 'decode_state_sensor_data'
},
- '165341' => {
+ '168490' => {
'Header' => 'platform.h',
'Line' => '2094',
'Param' => {
@@ -6091,7 +6091,7 @@
'Return' => '100',
'ShortName' => 'decode_sensor_op_data'
},
- '165998' => {
+ '169147' => {
'Header' => 'platform.h',
'Line' => '2077',
'Param' => {
@@ -6119,7 +6119,7 @@
'Return' => '100',
'ShortName' => 'decode_sensor_event_data'
},
- '166878' => {
+ '170027' => {
'Header' => 'platform.h',
'Line' => '2056',
'Param' => {
@@ -6165,7 +6165,7 @@
'Return' => '100',
'ShortName' => 'decode_event_message_supported_resp'
},
- '168163' => {
+ '171312' => {
'Header' => 'platform.h',
'Line' => '2039',
'Param' => {
@@ -6185,7 +6185,7 @@
'Return' => '100',
'ShortName' => 'encode_event_message_supported_req'
},
- '168361' => {
+ '171510' => {
'Header' => 'platform.h',
'Line' => '2012',
'Param' => {
@@ -6209,7 +6209,7 @@
'Return' => '100',
'ShortName' => 'decode_event_message_buffer_size_resp'
},
- '169194' => {
+ '172343' => {
'Header' => 'platform.h',
'Line' => '2025',
'Param' => {
@@ -6232,7 +6232,7 @@
'Return' => '100',
'ShortName' => 'encode_event_message_buffer_size_req'
},
- '169392' => {
+ '172541' => {
'Header' => 'platform.h',
'Line' => '2001',
'Param' => {
@@ -6259,7 +6259,7 @@
'Return' => '100',
'ShortName' => 'decode_platform_event_message_resp'
},
- '170068' => {
+ '173217' => {
'Header' => 'platform.h',
'Line' => '1944',
'Param' => {
@@ -6301,7 +6301,7 @@
'Return' => '100',
'ShortName' => 'encode_platform_event_message_req'
},
- '170469' => {
+ '173618' => {
'Header' => 'platform.h',
'Line' => '1924',
'Param' => {
@@ -6363,7 +6363,7 @@
'Return' => '100',
'ShortName' => 'encode_poll_for_platform_event_message_resp'
},
- '172590' => {
+ '175739' => {
'Header' => 'platform.h',
'Line' => '1902',
'Param' => {
@@ -6387,7 +6387,7 @@
'Return' => '100',
'ShortName' => 'encode_platform_event_message_resp'
},
- '172808' => {
+ '175957' => {
'Header' => 'platform.h',
'Line' => '1887',
'Param' => {
@@ -6419,7 +6419,7 @@
'Return' => '100',
'ShortName' => 'decode_poll_for_platform_event_message_req'
},
- '174129' => {
+ '177278' => {
'Header' => 'platform.h',
'Line' => '1871',
'Param' => {
@@ -6458,13 +6458,13 @@
'Return' => '100',
'ShortName' => 'decode_platform_event_message_req'
},
- '174955' => {
+ '178104' => {
'Header' => 'platform.h',
'Line' => '2289',
'Param' => {
'0' => {
'name' => 'event_data',
- 'type' => '175146'
+ 'type' => '178295'
},
'1' => {
'name' => 'event_data_size',
@@ -6493,7 +6493,7 @@
},
'7' => {
'name' => 'actual_event_data_size',
- 'type' => '130457'
+ 'type' => '132567'
}
},
'Reg' => {
@@ -6507,7 +6507,7 @@
'Return' => '100',
'ShortName' => 'encode_sensor_event_data'
},
- '175161' => {
+ '178310' => {
'Header' => 'platform.h',
'Line' => '1423',
'Param' => {
@@ -6535,7 +6535,7 @@
'Return' => '100',
'ShortName' => 'decode_get_state_sensor_readings_req'
},
- '176137' => {
+ '179286' => {
'Header' => 'platform.h',
'Line' => '1791',
'Param' => {
@@ -6557,7 +6557,7 @@
},
'4' => {
'name' => 'field',
- 'type' => '177374'
+ 'type' => '180523'
}
},
'Reg' => {
@@ -6567,7 +6567,7 @@
'Return' => '100',
'ShortName' => 'decode_get_state_sensor_readings_resp'
},
- '177379' => {
+ '180528' => {
'Header' => 'platform.h',
'Line' => '1771',
'Param' => {
@@ -6595,7 +6595,7 @@
'Return' => '100',
'ShortName' => 'encode_get_state_sensor_readings_req'
},
- '177617' => {
+ '180766' => {
'Header' => 'platform.h',
'Line' => '1443',
'Param' => {
@@ -6613,7 +6613,7 @@
},
'3' => {
'name' => 'field',
- 'type' => '177374'
+ 'type' => '180523'
},
'4' => {
'name' => 'msg',
@@ -6623,7 +6623,7 @@
'Return' => '100',
'ShortName' => 'encode_get_state_sensor_readings_resp'
},
- '177971' => {
+ '181120' => {
'Header' => 'platform.h',
'Line' => '1752',
'Param' => {
@@ -6648,7 +6648,7 @@
'Return' => '100',
'ShortName' => 'decode_set_numeric_effecter_value_resp'
},
- '178048' => {
+ '181197' => {
'Header' => 'platform.h',
'Line' => '1739',
'Param' => {
@@ -6683,7 +6683,7 @@
'Return' => '100',
'ShortName' => 'encode_set_numeric_effecter_value_req'
},
- '178520' => {
+ '181669' => {
'Header' => 'platform.h',
'Line' => '1314',
'Param' => {
@@ -6707,7 +6707,7 @@
'Return' => '100',
'ShortName' => 'encode_set_numeric_effecter_value_resp'
},
- '178713' => {
+ '181862' => {
'Header' => 'platform.h',
'Line' => '1298',
'Param' => {
@@ -6735,7 +6735,7 @@
'Return' => '100',
'ShortName' => 'decode_set_numeric_effecter_value_req'
},
- '182719' => {
+ '185868' => {
'Header' => 'platform.h',
'Line' => '1650',
'Param' => {
@@ -6790,7 +6790,7 @@
'Return' => '100',
'ShortName' => 'decode_get_pdr_resp'
},
- '184660' => {
+ '187809' => {
'Header' => 'platform.h',
'Line' => '1619',
'Param' => {
@@ -6835,7 +6835,7 @@
'Return' => '100',
'ShortName' => 'encode_get_pdr_req'
},
- '186883' => {
+ '190032' => {
'Header' => 'platform.h',
'Line' => '1581',
'Param' => {
@@ -6887,7 +6887,7 @@
'Return' => '100',
'ShortName' => 'decode_get_pdr_repository_info_resp'
},
- '188949' => {
+ '192098' => {
'Header' => 'platform.h',
'Line' => '1557',
'Param' => {
@@ -6939,7 +6939,7 @@
'Return' => '100',
'ShortName' => 'encode_get_pdr_repository_info_resp'
},
- '189422' => {
+ '192571' => {
'Header' => 'platform.h',
'Line' => '1381',
'Param' => {
@@ -6986,7 +6986,7 @@
'Return' => '100',
'ShortName' => 'encode_get_pdr_resp'
},
- '189871' => {
+ '193020' => {
'Header' => 'platform.h',
'Line' => '1402',
'Param' => {
@@ -7023,7 +7023,7 @@
'Return' => '100',
'ShortName' => 'decode_get_pdr_req'
},
- '191483' => {
+ '194632' => {
'Header' => 'platform.h',
'Line' => '1353',
'Param' => {
@@ -7045,13 +7045,13 @@
},
'4' => {
'name' => 'field',
- 'type' => '192606'
+ 'type' => '195752'
}
},
'Return' => '100',
'ShortName' => 'decode_set_state_effecter_states_req'
},
- '192611' => {
+ '195757' => {
'Header' => 'platform.h',
'Line' => '1718',
'Param' => {
@@ -7076,7 +7076,7 @@
'Return' => '100',
'ShortName' => 'decode_set_state_effecter_states_resp'
},
- '192685' => {
+ '195832' => {
'Header' => 'platform.h',
'Line' => '1699',
'Param' => {
@@ -7094,7 +7094,7 @@
},
'3' => {
'name' => 'field',
- 'type' => '192606'
+ 'type' => '195752'
},
'4' => {
'name' => 'msg',
@@ -7107,7 +7107,7 @@
'Return' => '100',
'ShortName' => 'encode_set_state_effecter_states_req'
},
- '193029' => {
+ '196176' => {
'Header' => 'platform.h',
'Line' => '1331',
'Param' => {
@@ -7127,13 +7127,13 @@
'Return' => '100',
'ShortName' => 'encode_set_state_effecter_states_resp'
},
- '193196' => {
+ '196343' => {
'Header' => 'platform.h',
'Line' => '681',
'Param' => {
'0' => {
'name' => 'sensor',
- 'type' => '193581'
+ 'type' => '196733'
},
'1' => {
'name' => 'allocation_size',
@@ -7141,7 +7141,7 @@
},
'2' => {
'name' => 'possible_states',
- 'type' => '193591'
+ 'type' => '196743'
},
'3' => {
'name' => 'possible_states_size',
@@ -7149,26 +7149,26 @@
},
'4' => {
'name' => 'actual_size',
- 'type' => '130457'
+ 'type' => '132567'
}
},
'Reg' => {
'0' => 'rdi',
- '1' => 'r10',
- '2' => 'rsi',
- '3' => 'r9',
+ '1' => 'rsi',
+ '2' => 'r9',
+ '3' => 'rcx',
'4' => 'r8'
},
'Return' => '100',
'ShortName' => 'encode_state_sensor_pdr'
},
- '193601' => {
+ '196753' => {
'Header' => 'platform.h',
'Line' => '921',
'Param' => {
'0' => {
'name' => 'effecter',
- 'type' => '193986'
+ 'type' => '197138'
},
'1' => {
'name' => 'allocation_size',
@@ -7176,7 +7176,7 @@
},
'2' => {
'name' => 'possible_states',
- 'type' => '193996'
+ 'type' => '197148'
},
'3' => {
'name' => 'possible_states_size',
@@ -7184,7 +7184,7 @@
},
'4' => {
'name' => 'actual_size',
- 'type' => '130457'
+ 'type' => '132567'
}
},
'Reg' => {
@@ -7197,13 +7197,13 @@
'Return' => '100',
'ShortName' => 'encode_state_effecter_pdr'
},
- '198598' => {
+ '200583' => {
'Header' => 'instance-id.h',
'Line' => '85',
'Param' => {
'0' => {
'name' => 'ctx',
- 'type' => '198778'
+ 'type' => '200763'
},
'1' => {
'name' => 'tid',
@@ -7217,13 +7217,13 @@
'Return' => '100',
'ShortName' => 'pldm_instance_id_free'
},
- '198783' => {
+ '200768' => {
'Header' => 'instance-id.h',
'Line' => '68',
'Param' => {
'0' => {
'name' => 'ctx',
- 'type' => '198778'
+ 'type' => '200763'
},
'1' => {
'name' => 'tid',
@@ -7231,19 +7231,19 @@
},
'2' => {
'name' => 'iid',
- 'type' => '199165'
+ 'type' => '201150'
}
},
'Return' => '100',
'ShortName' => 'pldm_instance_id_alloc'
},
- '199170' => {
+ '201155' => {
'Header' => 'instance-id.h',
'Line' => '51',
'Param' => {
'0' => {
'name' => 'ctx',
- 'type' => '198778'
+ 'type' => '200763'
}
},
'Reg' => {
@@ -7252,25 +7252,25 @@
'Return' => '100',
'ShortName' => 'pldm_instance_db_destroy'
},
- '199255' => {
+ '201240' => {
'Header' => 'instance-id.h',
'Line' => '41',
'Param' => {
'0' => {
'name' => 'ctx',
- 'type' => '199341'
+ 'type' => '201326'
}
},
'Return' => '100',
'ShortName' => 'pldm_instance_db_init_default'
},
- '199346' => {
+ '201331' => {
'Header' => 'instance-id.h',
'Line' => '28',
'Param' => {
'0' => {
'name' => 'ctx',
- 'type' => '199341'
+ 'type' => '201326'
},
'1' => {
'name' => 'dbpath',
@@ -7280,13 +7280,13 @@
'Return' => '100',
'ShortName' => 'pldm_instance_db_init'
},
- '200297' => {
+ '202282' => {
'Header' => 'transport.h',
'Line' => '53',
'Param' => {
'0' => {
'name' => 'transport',
- 'type' => '200334'
+ 'type' => '202319'
},
'1' => {
'name' => 'tid',
@@ -7307,16 +7307,16 @@
'2' => 'rdx',
'3' => 'rcx'
},
- 'Return' => '200248',
+ 'Return' => '202233',
'ShortName' => 'pldm_transport_send_msg'
},
- '200344' => {
+ '202329' => {
'Header' => 'transport.h',
'Line' => '118',
'Param' => {
'0' => {
'name' => 'transport',
- 'type' => '200334'
+ 'type' => '202319'
},
'1' => {
'name' => 'tid',
@@ -7342,16 +7342,16 @@
'Reg' => {
'2' => 'r14'
},
- 'Return' => '200248',
+ 'Return' => '202233',
'ShortName' => 'pldm_transport_send_recv_msg'
},
- '200401' => {
+ '202386' => {
'Header' => 'mctp-demux.h',
'Line' => '18',
'Param' => {
'0' => {
'name' => 'ctx',
- 'type' => '200292'
+ 'type' => '202277'
}
},
'Reg' => {
@@ -7360,17 +7360,17 @@
'Return' => '1',
'ShortName' => 'pldm_transport_mctp_demux_destroy'
},
- '200438' => {
+ '202423' => {
'Header' => 'transport.h',
'Line' => '81',
'Param' => {
'0' => {
'name' => 'transport',
- 'type' => '200334'
+ 'type' => '202319'
},
'1' => {
'name' => 'tid',
- 'type' => '200475'
+ 'type' => '202460'
},
'2' => {
'name' => 'pldm_msg',
@@ -7387,16 +7387,16 @@
'2' => 'rbp',
'3' => 'rcx'
},
- 'Return' => '200248',
+ 'Return' => '202233',
'ShortName' => 'pldm_transport_recv_msg'
},
- '200480' => {
+ '202465' => {
'Header' => 'mctp-demux.h',
'Line' => '32',
'Param' => {
'0' => {
'name' => 'ctx',
- 'type' => '200292'
+ 'type' => '202277'
},
'1' => {
'name' => 'tid',
@@ -7404,7 +7404,7 @@
},
'2' => {
'name' => 'eid',
- 'type' => '200133'
+ 'type' => '202118'
}
},
'Reg' => {
@@ -7415,28 +7415,28 @@
'Return' => '100',
'ShortName' => 'pldm_transport_mctp_demux_map_tid'
},
- '200512' => {
+ '202497' => {
'Header' => 'mctp-demux.h',
'Line' => '22',
'Param' => {
'0' => {
'name' => 'ctx',
- 'type' => '200292'
+ 'type' => '202277'
}
},
'Reg' => {
'0' => 'rdi'
},
- 'Return' => '200334',
+ 'Return' => '202319',
'ShortName' => 'pldm_transport_mctp_demux_core'
},
- '200556' => {
+ '202541' => {
'Header' => 'mctp-demux.h',
'Line' => '15',
'Param' => {
'0' => {
'name' => 'ctx',
- 'type' => '200578'
+ 'type' => '202563'
}
},
'Reg' => {
@@ -7445,19 +7445,19 @@
'Return' => '100',
'ShortName' => 'pldm_transport_mctp_demux_init'
},
- '200637' => {
+ '202622' => {
'Header' => 'pldm.h',
'Line' => '119',
'Return' => '1',
'ShortName' => 'pldm_close'
},
- '200681' => {
+ '202666' => {
'Header' => 'pldm.h',
'Line' => '75',
'Param' => {
'0' => {
'name' => 'eid',
- 'type' => '200133'
+ 'type' => '202118'
},
'1' => {
'name' => 'mctp_fd',
@@ -7478,16 +7478,16 @@
'2' => 'rdx',
'3' => 'rcx'
},
- 'Return' => '200248',
+ 'Return' => '202233',
'ShortName' => 'pldm_send'
},
- '201100' => {
+ '203085' => {
'Header' => 'pldm.h',
'Line' => '57',
'Param' => {
'0' => {
'name' => 'eid',
- 'type' => '200133'
+ 'type' => '202118'
},
'1' => {
'name' => 'mctp_fd',
@@ -7518,16 +7518,16 @@
'4' => 'r8',
'5' => 'r9'
},
- 'Return' => '200248',
+ 'Return' => '202233',
'ShortName' => 'pldm_send_recv'
},
- '201583' => {
+ '203568' => {
'Header' => 'pldm.h',
'Line' => '94',
'Param' => {
'0' => {
'name' => 'eid',
- 'type' => '200133'
+ 'type' => '202118'
},
'1' => {
'name' => 'mctp_fd',
@@ -7549,16 +7549,16 @@
'Reg' => {
'3' => 'rbx'
},
- 'Return' => '200248',
+ 'Return' => '202233',
'ShortName' => 'pldm_recv'
},
- '201809' => {
+ '203794' => {
'Header' => 'pldm.h',
'Line' => '112',
'Param' => {
'0' => {
'name' => 'eid',
- 'type' => '200133'
+ 'type' => '202118'
},
'1' => {
'name' => 'mctp_fd',
@@ -7577,26 +7577,26 @@
'2' => 'r12',
'3' => 'r13'
},
- 'Return' => '200248',
+ 'Return' => '202233',
'ShortName' => 'pldm_recv_any'
},
- '202262' => {
+ '204247' => {
'Header' => 'pldm.h',
'Line' => '39',
- 'Return' => '200248',
+ 'Return' => '202233',
'ShortName' => 'pldm_open'
},
- '204680' => {
+ '206665' => {
'Header' => 'af-mctp.h',
'Line' => '54',
'Param' => {
'0' => {
'name' => 'transport',
- 'type' => '204836'
+ 'type' => '206821'
},
'1' => {
'name' => 'smctp',
- 'type' => '204841'
+ 'type' => '206826'
},
'2' => {
'name' => 'len',
@@ -7610,13 +7610,13 @@
'Return' => '100',
'ShortName' => 'pldm_transport_af_mctp_bind'
},
- '204846' => {
+ '206831' => {
'Header' => 'af-mctp.h',
'Line' => '19',
'Param' => {
'0' => {
'name' => 'ctx',
- 'type' => '204836'
+ 'type' => '206821'
}
},
'Reg' => {
@@ -7625,13 +7625,13 @@
'Return' => '1',
'ShortName' => 'pldm_transport_af_mctp_destroy'
},
- '204930' => {
+ '206915' => {
'Header' => 'af-mctp.h',
'Line' => '16',
'Param' => {
'0' => {
'name' => 'ctx',
- 'type' => '205154'
+ 'type' => '207139'
}
},
'Reg' => {
@@ -7640,13 +7640,13 @@
'Return' => '100',
'ShortName' => 'pldm_transport_af_mctp_init'
},
- '206341' => {
+ '208326' => {
'Header' => 'af-mctp.h',
'Line' => '37',
'Param' => {
'0' => {
'name' => 'ctx',
- 'type' => '204836'
+ 'type' => '206821'
},
'1' => {
'name' => 'tid',
@@ -7654,7 +7654,7 @@
},
'2' => {
'name' => 'eid',
- 'type' => '200133'
+ 'type' => '202118'
}
},
'Reg' => {
@@ -7665,13 +7665,13 @@
'Return' => '100',
'ShortName' => 'pldm_transport_af_mctp_unmap_tid'
},
- '206414' => {
+ '208399' => {
'Header' => 'af-mctp.h',
'Line' => '33',
'Param' => {
'0' => {
'name' => 'ctx',
- 'type' => '204836'
+ 'type' => '206821'
},
'1' => {
'name' => 'tid',
@@ -7679,7 +7679,7 @@
},
'2' => {
'name' => 'eid',
- 'type' => '200133'
+ 'type' => '202118'
}
},
'Reg' => {
@@ -7690,17 +7690,17 @@
'Return' => '100',
'ShortName' => 'pldm_transport_af_mctp_map_tid'
},
- '206655' => {
+ '208640' => {
'Header' => 'af-mctp.h',
'Line' => '28',
'Param' => {
'0' => {
'name' => 't',
- 'type' => '200334'
+ 'type' => '202319'
},
'1' => {
'name' => 'pollfd',
- 'type' => '203332'
+ 'type' => '205317'
}
},
'Reg' => {
@@ -7710,28 +7710,28 @@
'Return' => '100',
'ShortName' => 'pldm_transport_af_mctp_init_pollfd'
},
- '206733' => {
+ '208718' => {
'Header' => 'af-mctp.h',
'Line' => '23',
'Param' => {
'0' => {
'name' => 'ctx',
- 'type' => '204836'
+ 'type' => '206821'
}
},
'Reg' => {
'0' => 'rdi'
},
- 'Return' => '200334',
+ 'Return' => '202319',
'ShortName' => 'pldm_transport_af_mctp_core'
},
- '210452' => {
+ '212437' => {
'Header' => 'mctp-demux.h',
'Line' => '36',
'Param' => {
'0' => {
'name' => 'ctx',
- 'type' => '200292'
+ 'type' => '202277'
},
'1' => {
'name' => 'tid',
@@ -7739,7 +7739,7 @@
},
'2' => {
'name' => 'eid',
- 'type' => '200133'
+ 'type' => '202118'
}
},
'Reg' => {
@@ -7750,17 +7750,17 @@
'Return' => '100',
'ShortName' => 'pldm_transport_mctp_demux_unmap_tid'
},
- '210766' => {
+ '212751' => {
'Header' => 'mctp-demux.h',
'Line' => '27',
'Param' => {
'0' => {
'name' => 't',
- 'type' => '200334'
+ 'type' => '202319'
},
'1' => {
'name' => 'pollfd',
- 'type' => '203332'
+ 'type' => '205317'
}
},
'Reg' => {
@@ -7770,13 +7770,13 @@
'Return' => '100',
'ShortName' => 'pldm_transport_mctp_demux_init_pollfd'
},
- '218602' => {
+ '220587' => {
'Header' => 'transport.h',
'Line' => '31',
'Param' => {
'0' => {
'name' => 'transport',
- 'type' => '200334'
+ 'type' => '202319'
},
'1' => {
'name' => 'timeout',
@@ -7786,7 +7786,7 @@
'Return' => '100',
'ShortName' => 'pldm_transport_poll'
},
- '220801' => {
+ '222786' => {
'Header' => 'file_io.h',
'Line' => '912',
'Param' => {
@@ -7806,7 +7806,7 @@
'Return' => '100',
'ShortName' => 'encode_new_file_with_metadata_resp'
},
- '221001' => {
+ '222986' => {
'Header' => 'file_io.h',
'Line' => '898',
'Param' => {
@@ -7860,7 +7860,7 @@
'Return' => '100',
'ShortName' => 'decode_new_file_with_metadata_req'
},
- '221233' => {
+ '223218' => {
'Header' => 'file_io.h',
'Line' => '881',
'Param' => {
@@ -7885,7 +7885,7 @@
'Return' => '100',
'ShortName' => 'decode_new_file_with_metadata_resp'
},
- '221334' => {
+ '223319' => {
'Header' => 'file_io.h',
'Line' => '866',
'Param' => {
@@ -7935,7 +7935,7 @@
'Return' => '100',
'ShortName' => 'encode_new_file_with_metadata_req'
},
- '221631' => {
+ '223616' => {
'Header' => 'file_io.h',
'Line' => '824',
'Param' => {
@@ -7955,7 +7955,7 @@
'Return' => '100',
'ShortName' => 'encode_file_ack_with_meta_data_resp'
},
- '221826' => {
+ '223811' => {
'Header' => 'file_io.h',
'Line' => '811',
'Param' => {
@@ -8009,7 +8009,7 @@
'Return' => '100',
'ShortName' => 'decode_file_ack_with_meta_data_req'
},
- '222038' => {
+ '224023' => {
'Header' => 'file_io.h',
'Line' => '794',
'Param' => {
@@ -8034,7 +8034,7 @@
'Return' => '100',
'ShortName' => 'decode_file_ack_with_meta_data_resp'
},
- '222134' => {
+ '224119' => {
'Header' => 'file_io.h',
'Line' => '781',
'Param' => {
@@ -8084,7 +8084,7 @@
'Return' => '100',
'ShortName' => 'encode_file_ack_with_meta_data_req'
},
- '222431' => {
+ '224416' => {
'Header' => 'file_io.h',
'Line' => '741',
'Param' => {
@@ -8109,7 +8109,7 @@
'Return' => '100',
'ShortName' => 'decode_file_ack_resp'
},
- '222532' => {
+ '224517' => {
'Header' => 'file_io.h',
'Line' => '730',
'Param' => {
@@ -8137,7 +8137,7 @@
'Return' => '100',
'ShortName' => 'encode_file_ack_req'
},
- '222767' => {
+ '224752' => {
'Header' => 'file_io.h',
'Line' => '718',
'Param' => {
@@ -8157,7 +8157,7 @@
'Return' => '100',
'ShortName' => 'encode_file_ack_resp'
},
- '222957' => {
+ '224942' => {
'Header' => 'file_io.h',
'Line' => '706',
'Param' => {
@@ -8191,7 +8191,7 @@
'Return' => '100',
'ShortName' => 'decode_file_ack_req'
},
- '223099' => {
+ '225084' => {
'Header' => 'file_io.h',
'Line' => '675',
'Param' => {
@@ -8221,7 +8221,7 @@
'Return' => '100',
'ShortName' => 'decode_rw_file_by_type_resp'
},
- '223214' => {
+ '225199' => {
'Header' => 'file_io.h',
'Line' => '661',
'Param' => {
@@ -8258,7 +8258,7 @@
'Return' => '100',
'ShortName' => 'encode_rw_file_by_type_req'
},
- '223484' => {
+ '225469' => {
'Header' => 'file_io.h',
'Line' => '644',
'Param' => {
@@ -8286,7 +8286,7 @@
'Return' => '100',
'ShortName' => 'encode_rw_file_by_type_resp'
},
- '223714' => {
+ '225699' => {
'Header' => 'file_io.h',
'Line' => '626',
'Param' => {
@@ -8325,7 +8325,7 @@
'Return' => '100',
'ShortName' => 'decode_rw_file_by_type_req'
},
- '223876' => {
+ '225861' => {
'Header' => 'file_io.h',
'Line' => '590',
'Param' => {
@@ -8350,7 +8350,7 @@
'Return' => '100',
'ShortName' => 'decode_new_file_resp'
},
- '223977' => {
+ '225962' => {
'Header' => 'file_io.h',
'Line' => '579',
'Param' => {
@@ -8378,7 +8378,7 @@
'Return' => '100',
'ShortName' => 'encode_new_file_req'
},
- '224212' => {
+ '226197' => {
'Header' => 'file_io.h',
'Line' => '567',
'Param' => {
@@ -8398,7 +8398,7 @@
'Return' => '100',
'ShortName' => 'encode_new_file_resp'
},
- '224402' => {
+ '226387' => {
'Header' => 'file_io.h',
'Line' => '555',
'Param' => {
@@ -8432,7 +8432,7 @@
'Return' => '100',
'ShortName' => 'decode_new_file_req'
},
- '224544' => {
+ '226529' => {
'Header' => 'file_io.h',
'Line' => '523',
'Param' => {
@@ -8462,7 +8462,7 @@
'Return' => '100',
'ShortName' => 'decode_rw_file_by_type_memory_resp'
},
- '224659' => {
+ '226644' => {
'Header' => 'file_io.h',
'Line' => '509',
'Param' => {
@@ -8504,7 +8504,7 @@
'Return' => '100',
'ShortName' => 'encode_rw_file_by_type_memory_req'
},
- '224944' => {
+ '226929' => {
'Header' => 'file_io.h',
'Line' => '491',
'Param' => {
@@ -8532,7 +8532,7 @@
'Return' => '100',
'ShortName' => 'encode_rw_file_by_type_memory_resp'
},
- '225174' => {
+ '227159' => {
'Header' => 'file_io.h',
'Line' => '473',
'Param' => {
@@ -8576,7 +8576,7 @@
'Return' => '100',
'ShortName' => 'decode_rw_file_by_type_memory_req'
},
- '225351' => {
+ '227336' => {
'Header' => 'file_io.h',
'Line' => '435',
'Param' => {
@@ -8600,7 +8600,7 @@
'Return' => '100',
'ShortName' => 'encode_write_file_resp'
},
- '225566' => {
+ '227551' => {
'Header' => 'file_io.h',
'Line' => '422',
'Param' => {
@@ -8630,7 +8630,7 @@
'Return' => '100',
'ShortName' => 'decode_write_file_resp'
},
- '225676' => {
+ '227661' => {
'Header' => 'file_io.h',
'Line' => '410',
'Param' => {
@@ -8658,7 +8658,7 @@
'Return' => '100',
'ShortName' => 'encode_write_file_req'
},
- '225911' => {
+ '227896' => {
'Header' => 'file_io.h',
'Line' => '391',
'Param' => {
@@ -8696,7 +8696,7 @@
'Return' => '100',
'ShortName' => 'decode_write_file_req'
},
- '226066' => {
+ '228051' => {
'Header' => 'file_io.h',
'Line' => '377',
'Param' => {
@@ -8720,7 +8720,7 @@
'Return' => '100',
'ShortName' => 'encode_read_file_resp'
},
- '226281' => {
+ '228266' => {
'Header' => 'file_io.h',
'Line' => '359',
'Param' => {
@@ -8754,7 +8754,7 @@
'Return' => '100',
'ShortName' => 'decode_read_file_resp'
},
- '226417' => {
+ '228402' => {
'Header' => 'file_io.h',
'Line' => '344',
'Param' => {
@@ -8782,7 +8782,7 @@
'Return' => '100',
'ShortName' => 'encode_read_file_req'
},
- '226652' => {
+ '228637' => {
'Header' => 'file_io.h',
'Line' => '330',
'Param' => {
@@ -8816,7 +8816,7 @@
'Return' => '100',
'ShortName' => 'decode_read_file_req'
},
- '226788' => {
+ '228773' => {
'Header' => 'file_io.h',
'Line' => '274',
'Param' => {
@@ -8860,7 +8860,7 @@
'Return' => '100',
'ShortName' => 'decode_get_file_table_resp'
},
- '226962' => {
+ '228947' => {
'Header' => 'file_io.h',
'Line' => '258',
'Param' => {
@@ -8888,7 +8888,7 @@
'Return' => '100',
'ShortName' => 'encode_get_file_table_req'
},
- '227189' => {
+ '229174' => {
'Header' => 'file_io.h',
'Line' => '244',
'Param' => {
@@ -8928,7 +8928,7 @@
'Return' => '100',
'ShortName' => 'encode_get_file_table_resp'
},
- '227547' => {
+ '229532' => {
'Header' => 'file_io.h',
'Line' => '227',
'Param' => {
@@ -8962,7 +8962,7 @@
'Return' => '100',
'ShortName' => 'decode_get_file_table_req'
},
- '227682' => {
+ '229667' => {
'Header' => 'file_io.h',
'Line' => '183',
'Param' => {
@@ -8992,7 +8992,7 @@
'Return' => '100',
'ShortName' => 'decode_rw_file_memory_resp'
},
- '227791' => {
+ '229776' => {
'Header' => 'file_io.h',
'Line' => '169',
'Param' => {
@@ -9032,7 +9032,7 @@
'Return' => '100',
'ShortName' => 'encode_rw_file_memory_req'
},
- '228050' => {
+ '230035' => {
'Header' => 'file_io.h',
'Line' => '152',
'Param' => {
@@ -9060,7 +9060,7 @@
'Return' => '100',
'ShortName' => 'encode_rw_file_memory_resp'
},
- '228271' => {
+ '230256' => {
'Header' => 'file_io.h',
'Line' => '136',
'Param' => {
@@ -9099,7 +9099,7 @@
'Return' => '100',
'ShortName' => 'decode_rw_file_memory_req'
},
- '229320' => {
+ '231305' => {
'Header' => 'host.h',
'Line' => '101',
'Param' => {
@@ -9134,7 +9134,7 @@
'Return' => '100',
'ShortName' => 'encode_get_alert_status_resp'
},
- '229568' => {
+ '231553' => {
'Header' => 'host.h',
'Line' => '86',
'Param' => {
@@ -9159,7 +9159,7 @@
'Return' => '100',
'ShortName' => 'decode_get_alert_status_req'
},
- '229651' => {
+ '231636' => {
'Header' => 'host.h',
'Line' => '70',
'Param' => {
@@ -9193,7 +9193,7 @@
'Return' => '100',
'ShortName' => 'decode_get_alert_status_resp'
},
- '229790' => {
+ '231775' => {
'Header' => 'host.h',
'Line' => '52',
'Param' => {
@@ -9217,7 +9217,7 @@
'Return' => '100',
'ShortName' => 'encode_get_alert_status_req'
},
- '230858' => {
+ '232843' => {
'Header' => 'platform.h',
'Line' => '47',
'Param' => {
@@ -9254,7 +9254,7 @@
'Return' => '100',
'ShortName' => 'encode_bios_attribute_update_event_req'
},
- '232710' => {
+ '234695' => {
'Header' => 'file_io.h',
'Line' => '160',
'Param' => {
@@ -9264,7 +9264,7 @@
},
'1' => {
'name' => 'resp',
- 'type' => '234429'
+ 'type' => '236414'
},
'2' => {
'name' => 'resp_len',
@@ -9285,13 +9285,13 @@
'Return' => '100',
'ShortName' => 'encode_oem_meta_file_io_read_resp'
},
- '234444' => {
+ '236429' => {
'Header' => 'file_io.h',
'Line' => '147',
'Param' => {
'0' => {
'name' => 'resp',
- 'type' => '234429'
+ 'type' => '236414'
}
},
'Reg' => {
@@ -9300,7 +9300,7 @@
'Return' => '2579',
'ShortName' => 'pldm_oem_meta_file_io_read_resp_data'
},
- '234492' => {
+ '236477' => {
'Header' => 'file_io.h',
'Line' => '137',
'Param' => {
@@ -9314,13 +9314,13 @@
},
'2' => {
'name' => 'req',
- 'type' => '235612'
+ 'type' => '237597'
}
},
'Return' => '100',
'ShortName' => 'decode_oem_meta_file_io_read_req'
},
- '235617' => {
+ '237602' => {
'Header' => 'file_io.h',
'Line' => '126',
'Param' => {
@@ -9355,7 +9355,7 @@
'Return' => '100',
'ShortName' => 'decode_oem_meta_file_io_req'
},
- '236051' => {
+ '238036' => {
'Header' => 'file_io.h',
'Line' => '113',
'Param' => {
@@ -9369,7 +9369,7 @@
},
'2' => {
'name' => 'req',
- 'type' => '236046'
+ 'type' => '238031'
},
'3' => {
'name' => 'req_length',
@@ -9379,13 +9379,13 @@
'Return' => '100',
'ShortName' => 'decode_oem_meta_file_io_write_req'
},
- '237000' => {
+ '238985' => {
'Header' => 'file_io.h',
'Line' => '102',
'Param' => {
'0' => {
'name' => 'req',
- 'type' => '236046'
+ 'type' => '238031'
}
},
'Reg' => {
@@ -12497,127 +12497,127 @@
'Size' => '8',
'Type' => 'Pointer'
},
- '101766' => {
+ '102834' => {
'BaseType' => '94206',
'Name' => 'struct pldm_get_state_effecter_states_resp*',
'Size' => '8',
'Type' => 'Pointer'
},
- '130457' => {
+ '132567' => {
'BaseType' => '13089',
'Name' => 'size_t*const',
'Size' => '8',
'Type' => 'Const'
},
- '132247' => {
+ '134357' => {
'BaseType' => '94393',
'Name' => 'struct pldm_message_poll_event*',
'Size' => '8',
'Type' => 'Pointer'
},
- '133248' => {
- 'BaseType' => '133258',
+ '135358' => {
+ 'BaseType' => '135368',
'Name' => 'uint32_t const*const*',
'Size' => '8',
'Type' => 'Pointer'
},
- '133253' => {
+ '135363' => {
'BaseType' => '29926',
'Name' => 'uint32_t const*',
'Size' => '8',
'Type' => 'Pointer'
},
- '133258' => {
- 'BaseType' => '133253',
+ '135368' => {
+ 'BaseType' => '135363',
'Name' => 'uint32_t const*const',
'Size' => '8',
'Type' => 'Const'
},
- '133263' => {
+ '135373' => {
'BaseType' => '94682',
'Name' => 'struct pldm_pdr_repository_chg_event_data*',
'Size' => '8',
'Type' => 'Pointer'
},
- '162440' => {
+ '165589' => {
'BaseType' => '92431',
'Name' => 'struct pldm_numeric_sensor_value_pdr*',
'Size' => '8',
'Type' => 'Pointer'
},
- '175141' => {
+ '178290' => {
'BaseType' => '94279',
'Name' => 'struct pldm_sensor_event_data*',
'Size' => '8',
'Type' => 'Pointer'
},
- '175146' => {
- 'BaseType' => '175141',
+ '178295' => {
+ 'BaseType' => '178290',
'Name' => 'struct pldm_sensor_event_data*const',
'Size' => '8',
'Type' => 'Const'
},
- '177374' => {
+ '180523' => {
'BaseType' => '93407',
'Name' => 'get_sensor_state_field*',
'Size' => '8',
'Type' => 'Pointer'
},
- '192606' => {
+ '195752' => {
'BaseType' => '93323',
'Name' => 'set_effecter_state_field*',
'Size' => '8',
'Type' => 'Pointer'
},
- '193576' => {
+ '196728' => {
'BaseType' => '91111',
'Name' => 'struct pldm_state_sensor_pdr*',
'Size' => '8',
'Type' => 'Pointer'
},
- '193581' => {
- 'BaseType' => '193576',
+ '196733' => {
+ 'BaseType' => '196728',
'Name' => 'struct pldm_state_sensor_pdr*const',
'Size' => '8',
'Type' => 'Const'
},
- '193586' => {
+ '196738' => {
'BaseType' => '91322',
'Name' => 'struct state_sensor_possible_states const*',
'Size' => '8',
'Type' => 'Pointer'
},
- '193591' => {
- 'BaseType' => '193586',
+ '196743' => {
+ 'BaseType' => '196738',
'Name' => 'struct state_sensor_possible_states const*const',
'Size' => '8',
'Type' => 'Const'
},
- '193981' => {
+ '197133' => {
'BaseType' => '91343',
'Name' => 'struct pldm_state_effecter_pdr*',
'Size' => '8',
'Type' => 'Pointer'
},
- '193986' => {
- 'BaseType' => '193981',
+ '197138' => {
+ 'BaseType' => '197133',
'Name' => 'struct pldm_state_effecter_pdr*const',
'Size' => '8',
'Type' => 'Const'
},
- '193991' => {
+ '197143' => {
'BaseType' => '93275',
'Name' => 'struct state_effecter_possible_states const*',
'Size' => '8',
'Type' => 'Pointer'
},
- '193996' => {
- 'BaseType' => '193991',
+ '197148' => {
+ 'BaseType' => '197143',
'Name' => 'struct state_effecter_possible_states const*const',
'Size' => '8',
'Type' => 'Const'
},
- '198141' => {
+ '200126' => {
'Line' => '19',
'Memb' => {
'0' => {
@@ -12637,13 +12637,13 @@
'Source' => 'instance-id.c',
'Type' => 'Struct'
},
- '198180' => {
+ '200165' => {
'Line' => '24',
'Memb' => {
'0' => {
'name' => 'state',
'offset' => '0',
- 'type' => '198222'
+ 'type' => '200207'
},
'1' => {
'name' => 'lock_db_fd',
@@ -12657,31 +12657,31 @@
'Source' => 'instance-id.c',
'Type' => 'Struct'
},
- '198222' => {
- 'BaseType' => '198141',
+ '200207' => {
+ 'BaseType' => '200126',
'Name' => 'struct pldm_tid_state[256]',
'Size' => '2048',
'Type' => 'Array'
},
- '198778' => {
- 'BaseType' => '198180',
+ '200763' => {
+ 'BaseType' => '200165',
'Name' => 'struct pldm_instance_db*',
'Size' => '8',
'Type' => 'Pointer'
},
- '199165' => {
+ '201150' => {
'BaseType' => '187',
'Name' => 'pldm_instance_id_t*',
'Size' => '8',
'Type' => 'Pointer'
},
- '199341' => {
- 'BaseType' => '198778',
+ '201326' => {
+ 'BaseType' => '200763',
'Name' => 'struct pldm_instance_db**',
'Size' => '8',
'Type' => 'Pointer'
},
- '200133' => {
+ '202118' => {
'BaseType' => '121',
'Header' => 'pldm.h',
'Line' => '13',
@@ -12689,7 +12689,7 @@
'Size' => '1',
'Type' => 'Typedef'
},
- '200248' => {
+ '202233' => {
'BaseType' => '284',
'Header' => 'pldm.h',
'Line' => '30',
@@ -12697,13 +12697,13 @@
'Size' => '4',
'Type' => 'Typedef'
},
- '200266' => {
+ '202251' => {
'Line' => '26',
'Memb' => {
'0' => {
'name' => 'transport',
'offset' => '0',
- 'type' => '200339'
+ 'type' => '202324'
},
'1' => {
'name' => 'socket',
@@ -12713,12 +12713,12 @@
'2' => {
'name' => 'tid_eid_map',
'offset' => '68',
- 'type' => '204035'
+ 'type' => '206020'
},
'3' => {
'name' => 'socket_send_buf',
'offset' => '768',
- 'type' => '202955'
+ 'type' => '204940'
}
},
'Name' => 'struct pldm_transport_mctp_demux',
@@ -12727,19 +12727,19 @@
'Source' => 'mctp-demux.c',
'Type' => 'Struct'
},
- '200292' => {
- 'BaseType' => '200266',
+ '202277' => {
+ 'BaseType' => '202251',
'Name' => 'struct pldm_transport_mctp_demux*',
'Size' => '8',
'Type' => 'Pointer'
},
- '200334' => {
- 'BaseType' => '200339',
+ '202319' => {
+ 'BaseType' => '202324',
'Name' => 'struct pldm_transport*',
'Size' => '8',
'Type' => 'Pointer'
},
- '200339' => {
+ '202324' => {
'Header' => 'transport.h',
'Line' => '18',
'Memb' => {
@@ -12756,17 +12756,17 @@
'2' => {
'name' => 'recv',
'offset' => '22',
- 'type' => '203266'
+ 'type' => '205251'
},
'3' => {
'name' => 'send',
'offset' => '36',
- 'type' => '203307'
+ 'type' => '205292'
},
'4' => {
'name' => 'init_pollfd',
'offset' => '50',
- 'type' => '203387'
+ 'type' => '205372'
}
},
'Name' => 'struct pldm_transport',
@@ -12774,19 +12774,19 @@
'Size' => '40',
'Type' => 'Struct'
},
- '200475' => {
+ '202460' => {
'BaseType' => '175',
'Name' => 'pldm_tid_t*',
'Size' => '8',
'Type' => 'Pointer'
},
- '200578' => {
- 'BaseType' => '200292',
+ '202563' => {
+ 'BaseType' => '202277',
'Name' => 'struct pldm_transport_mctp_demux**',
'Size' => '8',
'Type' => 'Pointer'
},
- '202675' => {
+ '204660' => {
'BaseType' => '46',
'Header' => 'int-ll64.h',
'Line' => '21',
@@ -12795,7 +12795,7 @@
'Size' => '1',
'Type' => 'Typedef'
},
- '202687' => {
+ '204672' => {
'BaseType' => '53',
'Header' => 'int-ll64.h',
'Line' => '24',
@@ -12804,7 +12804,7 @@
'Size' => '2',
'Type' => 'Typedef'
},
- '202955' => {
+ '204940' => {
'Header' => 'socket.h',
'Line' => '5',
'Memb' => {
@@ -12829,14 +12829,14 @@
'Size' => '12',
'Type' => 'Struct'
},
- '203266' => {
+ '205251' => {
'Name' => 'pldm_requester_rc_t(*)(struct pldm_transport*, pldm_tid_t*, void**, size_t*)',
'Param' => {
'0' => {
- 'type' => '200334'
+ 'type' => '202319'
},
'1' => {
- 'type' => '200475'
+ 'type' => '202460'
},
'2' => {
'type' => '52697'
@@ -12845,15 +12845,15 @@
'type' => '13089'
}
},
- 'Return' => '200248',
+ 'Return' => '202233',
'Size' => '8',
'Type' => 'FuncPtr'
},
- '203307' => {
+ '205292' => {
'Name' => 'pldm_requester_rc_t(*)(struct pldm_transport*, pldm_tid_t, void const*, size_t)',
'Param' => {
'0' => {
- 'type' => '200334'
+ 'type' => '202319'
},
'1' => {
'type' => '175'
@@ -12865,17 +12865,17 @@
'type' => '1145'
}
},
- 'Return' => '200248',
+ 'Return' => '202233',
'Size' => '8',
'Type' => 'FuncPtr'
},
- '203332' => {
- 'BaseType' => '203337',
+ '205317' => {
+ 'BaseType' => '205322',
'Name' => 'struct pollfd*',
'Size' => '8',
'Type' => 'Pointer'
},
- '203337' => {
+ '205322' => {
'Header' => 'poll.h',
'Line' => '36',
'Memb' => {
@@ -12900,21 +12900,21 @@
'Size' => '8',
'Type' => 'Struct'
},
- '203387' => {
+ '205372' => {
'Name' => 'int(*)(struct pldm_transport*, struct pollfd*)',
'Param' => {
'0' => {
- 'type' => '200334'
+ 'type' => '202319'
},
'1' => {
- 'type' => '203332'
+ 'type' => '205317'
}
},
'Return' => '100',
'Size' => '8',
'Type' => 'FuncPtr'
},
- '203392' => {
+ '205377' => {
'BaseType' => '53',
'Header' => 'socket.h',
'Line' => '10',
@@ -12923,14 +12923,14 @@
'Size' => '2',
'Type' => 'Typedef'
},
- '203769' => {
+ '205754' => {
'Header' => 'mctp.h',
'Line' => '18',
'Memb' => {
'0' => {
'name' => 's_addr',
'offset' => '0',
- 'type' => '200133'
+ 'type' => '202118'
}
},
'Name' => 'struct mctp_addr',
@@ -12938,19 +12938,19 @@
'Size' => '1',
'Type' => 'Struct'
},
- '203795' => {
+ '205780' => {
'Header' => 'mctp.h',
'Line' => '22',
'Memb' => {
'0' => {
'name' => 'smctp_family',
'offset' => '0',
- 'type' => '203392'
+ 'type' => '205377'
},
'1' => {
'name' => '__smctp_pad0',
'offset' => '2',
- 'type' => '202687'
+ 'type' => '204672'
},
'2' => {
'name' => 'smctp_network',
@@ -12960,22 +12960,22 @@
'3' => {
'name' => 'smctp_addr',
'offset' => '8',
- 'type' => '203769'
+ 'type' => '205754'
},
'4' => {
'name' => 'smctp_type',
'offset' => '9',
- 'type' => '202675'
+ 'type' => '204660'
},
'5' => {
'name' => 'smctp_tag',
'offset' => '16',
- 'type' => '202675'
+ 'type' => '204660'
},
'6' => {
'name' => '__smctp_pad1',
'offset' => '17',
- 'type' => '202675'
+ 'type' => '204660'
}
},
'Name' => 'struct sockaddr_mctp',
@@ -12983,19 +12983,19 @@
'Size' => '12',
'Type' => 'Struct'
},
- '203899' => {
- 'BaseType' => '203795',
+ '205884' => {
+ 'BaseType' => '205780',
'Name' => 'struct sockaddr_mctp const',
'Size' => '12',
'Type' => 'Const'
},
- '203942' => {
+ '205927' => {
'Line' => '35',
'Memb' => {
'0' => {
'name' => 'transport',
'offset' => '0',
- 'type' => '200339'
+ 'type' => '202324'
},
'1' => {
'name' => 'socket',
@@ -13005,12 +13005,12 @@
'2' => {
'name' => 'tid_eid_map',
'offset' => '68',
- 'type' => '204035'
+ 'type' => '206020'
},
'3' => {
'name' => 'socket_send_buf',
'offset' => '768',
- 'type' => '202955'
+ 'type' => '204940'
},
'4' => {
'name' => 'bound',
@@ -13029,31 +13029,31 @@
'Source' => 'af-mctp.c',
'Type' => 'Struct'
},
- '204035' => {
+ '206020' => {
'BaseType' => '175',
'Name' => 'pldm_tid_t[256]',
'Size' => '256',
'Type' => 'Array'
},
- '204836' => {
- 'BaseType' => '203942',
+ '206821' => {
+ 'BaseType' => '205927',
'Name' => 'struct pldm_transport_af_mctp*',
'Size' => '8',
'Type' => 'Pointer'
},
- '204841' => {
- 'BaseType' => '203899',
+ '206826' => {
+ 'BaseType' => '205884',
'Name' => 'struct sockaddr_mctp const*',
'Size' => '8',
'Type' => 'Pointer'
},
- '205154' => {
- 'BaseType' => '204836',
+ '207139' => {
+ 'BaseType' => '206821',
'Name' => 'struct pldm_transport_af_mctp**',
'Size' => '8',
'Type' => 'Pointer'
},
- '231651' => {
+ '233636' => {
'Header' => 'file_io.h',
'Line' => '32',
'Memb' => {
@@ -13077,7 +13077,7 @@
'Size' => '8',
'Type' => 'Struct'
},
- '231718' => {
+ '233703' => {
'Header' => 'file_io.h',
'Line' => '45',
'Memb' => {
@@ -13096,7 +13096,7 @@
'Size' => '4',
'Type' => 'Struct'
},
- '231757' => {
+ '233742' => {
'Header' => 'file_io.h',
'Line' => '55',
'Memb' => {
@@ -13115,21 +13115,21 @@
'Size' => '8',
'Type' => 'Struct'
},
- '231796' => {
+ '233781' => {
'Header' => 'file_io.h',
'Line' => '70',
'Memb' => {
'0' => {
'name' => 'data',
'offset' => '0',
- 'type' => '231718'
+ 'type' => '233703'
}
},
'Name' => 'anon-union-file_io.h-70',
'Size' => '4',
'Type' => 'Union'
},
- '231814' => {
+ '233799' => {
'Header' => 'file_io.h',
'Line' => '65',
'Memb' => {
@@ -13156,33 +13156,33 @@
'4' => {
'name' => 'info',
'offset' => '18',
- 'type' => '231796'
+ 'type' => '233781'
}
},
'Name' => 'struct pldm_oem_meta_file_io_read_req',
'Size' => '16',
'Type' => 'Struct'
},
- '231892' => {
+ '233877' => {
'Header' => 'file_io.h',
'Line' => '86',
'Memb' => {
'0' => {
'name' => 'attr',
'offset' => '0',
- 'type' => '231757'
+ 'type' => '233742'
},
'1' => {
'name' => 'data',
'offset' => '0',
- 'type' => '231718'
+ 'type' => '233703'
}
},
'Name' => 'anon-union-file_io.h-86',
'Size' => '8',
'Type' => 'Union'
},
- '231920' => {
+ '233905' => {
'Header' => 'file_io.h',
'Line' => '80',
'Memb' => {
@@ -13214,7 +13214,7 @@
'5' => {
'name' => 'info',
'offset' => '18',
- 'type' => '231892'
+ 'type' => '233877'
},
'6' => {
'name' => 'data',
@@ -13226,20 +13226,20 @@
'Size' => '24',
'Type' => 'Struct'
},
- '234429' => {
- 'BaseType' => '231920',
+ '236414' => {
+ 'BaseType' => '233905',
'Name' => 'struct pldm_oem_meta_file_io_read_resp*',
'Size' => '8',
'Type' => 'Pointer'
},
- '235612' => {
- 'BaseType' => '231814',
+ '237597' => {
+ 'BaseType' => '233799',
'Name' => 'struct pldm_oem_meta_file_io_read_req*',
'Size' => '8',
'Type' => 'Pointer'
},
- '236046' => {
- 'BaseType' => '231651',
+ '238031' => {
+ 'BaseType' => '233636',
'Name' => 'struct pldm_oem_meta_file_io_write_req*',
'Size' => '8',
'Type' => 'Pointer'
diff --git a/src/dsp/platform.c b/src/dsp/platform.c
index 850ed71..5391f61 100644
--- a/src/dsp/platform.c
+++ b/src/dsp/platform.c
@@ -93,11 +93,25 @@
const struct state_sensor_possible_states *const possible_states,
const size_t possible_states_size, size_t *const actual_size)
{
- // Encode possible states
-
size_t calculated_possible_states_size = 0;
+ if (!sensor || !possible_states || !actual_size) {
+ return PLDM_ERROR;
+ }
+
+ if (SIZE_MAX - (sizeof(*sensor) - sizeof(sensor->possible_states)) <
+ possible_states_size) {
+ return PLDM_ERROR;
+ }
+
+ if (allocation_size <
+ (sizeof(*sensor) - sizeof(sensor->possible_states) +
+ possible_states_size)) {
+ return PLDM_ERROR_INVALID_LENGTH;
+ }
+
{
+ // Encode possible states
char *states_ptr = (char *)possible_states;
char *const begin_states_ptr = states_ptr;
@@ -126,11 +140,6 @@
*actual_size = (sizeof(struct pldm_state_sensor_pdr) +
possible_states_size - sizeof(sensor->possible_states));
- if (allocation_size < *actual_size) {
- *actual_size = 0;
- return PLDM_ERROR_INVALID_LENGTH;
- }
-
// Encode rest of PDR
sensor->hdr.version = 1;