diff options
| author | Michael Brown | 2015-08-01 00:47:50 +0200 |
|---|---|---|
| committer | Michael Brown | 2015-08-01 01:06:58 +0200 |
| commit | 1ac743411192af0a83043c9135039a1f1269608e (patch) | |
| tree | 69fe7edb6f6193fe0ff424aeb9dbf3896b043bcf /src/interface/hyperv | |
| parent | [serial] Check for UART existence in uart_select() (diff) | |
| download | ipxe-1ac743411192af0a83043c9135039a1f1269608e.tar.gz ipxe-1ac743411192af0a83043c9135039a1f1269608e.tar.xz ipxe-1ac743411192af0a83043c9135039a1f1269608e.zip | |
[tls] Do not access beyond the end of a 24-bit integer
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>
Diffstat (limited to 'src/interface/hyperv')
0 files changed, 0 insertions, 0 deletions
