diff options
author | cinap_lenrek <cinap_lenrek@felloff.net> | 2014-09-28 18:28:38 +0200 |
---|---|---|
committer | cinap_lenrek <cinap_lenrek@felloff.net> | 2014-09-28 18:28:38 +0200 |
commit | 36db1295be07b790f381e0157df7731767a25dc0 (patch) | |
tree | 36ed8784c163b9ab5469a4ccac197d6181e08737 /sys/lib/python/idlelib/FileList.py | |
parent | a494cc74ad646540fa5b3a994e94f20d7652f62e (diff) |
pc/pc64: fix ps2mouse memory corruption race
there was a memory corruption bug caused by us enabling the
ps2mouseputc() handler *before* initializing packetsize.
once we enabled the handler, mouse interrupts could come
in and advance the packet buffer index (nb) beyond the
buffer boundaries.
as ps2mouseputc() only checked for ++nb == packetsize, once
nb was advanced beyond the packetsize, it would continue writing
beyond the buffer and corrupt memory with each mouse packet byte.
solution is to initialize packetsize *before* enabling the
handler, and also do a >= check in ps2mouseputc() in case the
packetsize gets changed to a smaller value at runtime.
Diffstat (limited to 'sys/lib/python/idlelib/FileList.py')
0 files changed, 0 insertions, 0 deletions