The current implementation handles big-endian 24-bit integers (which occur in several TLS record types) by treating them as big-endian 32-bit integers which are shifted by 8 bits. This can result in "Invalid read" errors when running under valgrind, if the 24-bit field happens to be exactly at the end of an I/O buffer. Fix by ensuring that we touch only the three bytes which comprise the 24-bit integer. Signed-off-by: Michael Brown <mcb30@ipxe.org>tags/v1.20.1
|
|
||
179 |
|
179 |
|
180 |
|
180 |
|
181 |
|
181 |
|
|
182 |
|
|
|
183 |
|
|
|
184 |
|
|
|
185 |
|
|
|
186 |
|
|
|
187 |
|
|
|
188 |
|
|
|
189 |
|
|
|
190 |
|
|
|
191 |
|
|
|
192 |
|
|
|
193 |
|
|
182 |
|
194 |
|
183 |
|
195 |
|
184 |
|
196 |
|
185 |
|
197 |
|
186 |
|
198 |
|
187 |
|
199 |
|
188 |
|
|
|
189 |
|
|
|
190 |
|
200 |
|
191 |
|
201 |
|
192 |
|
|
|
193 |
|
|
|
194 |
|
|
|
195 |
|
|
|
|
202 |
|
|
|
203 |
|
|
|
204 |
|
|
196 |
|
205 |
|
197 |
|
206 |
|
198 |
|
207 |
|
|
|
||
200 |
|
209 |
|
201 |
|
210 |
|
202 |
|
211 |
|
203 |
|
|
|
204 |
|
|
|
205 |
|
212 |
|
206 |
|
|
|
207 |
|
|
|
208 |
|
|
|
209 |
|
|
|
|
213 |
|
|
|
214 |
|
|
|
215 |
|
|
|
216 |
|
|
210 |
|
217 |
|
211 |
|
218 |
|
212 |
|
219 |
|
|
|
||
1038 |
|
1045 |
|
1039 |
|
1046 |
|
1040 |
|
1047 |
|
1041 |
|
|
|
|
1048 |
|
|
1042 |
|
1049 |
|
1043 |
|
|
|
|
1050 |
|
|
1044 |
|
1051 |
|
1045 |
|
1052 |
|
1046 |
|
1053 |
|
|
|
||
1058 |
|
1065 |
|
1059 |
|
1066 |
|
1060 |
|
1067 |
|
1061 |
|
|
|
|
1068 |
|
|
1062 |
|
1069 |
|
1063 |
|
|
|
|
1070 |
|
|
1064 |
|
1071 |
|
1065 |
|
1072 |
|
1066 |
|
1073 |
|
|
|
||
1412 |
|
1419 |
|
1413 |
|
1420 |
|
1414 |
|
1421 |
|
1415 |
|
|
|
|
1422 |
|
|
1416 |
|
1423 |
|
1417 |
|
1424 |
|
1418 |
|
1425 |
|
|
|
||
1436 |
|
1443 |
|
1437 |
|
1444 |
|
1438 |
|
1445 |
|
1439 |
|
|
|
|
1446 |
|
|
1440 |
|
1447 |
|
1441 |
|
1448 |
|
1442 |
|
1449 |
|
|
|
||
1482 |
|
1489 |
|
1483 |
|
1490 |
|
1484 |
|
1491 |
|
1485 |
|
|
|
|
1492 |
|
|
1486 |
|
1493 |
|
1487 |
|
1494 |
|
1488 |
|
|
|
|
1495 |
|
|
1489 |
|
1496 |
|
1490 |
|
1497 |
|
1491 |
|
1498 |
|
|
|
||
1634 |
|
1641 |
|
1635 |
|
1642 |
|
1636 |
|
1643 |
|
1637 |
|
|
|
|
1644 |
|
|
1638 |
|
1645 |
|
1639 |
|
1646 |
|
1640 |
|
1647 |
|
1641 |
|
|
|
|
1648 |
|
|
1642 |
|
1649 |
|
1643 |
|
1650 |
|
1644 |
|
1651 |
|