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 |
|