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;