Download Latest Version zenglOX.iso (5.1 MB)
Email in envelope

Get an email when there's a new version of zenglox

Home / zenglOX_v1.4.1
Name Modified Size InfoDownloads / Week
Parent folder
zenglOX_v1.4.1.zip 2014-07-06 91.0 kB
readme.txt 2014-07-06 1.2 kB
Totals: 2 Items   92.2 kB 0
 zenglOX v1.4.1 修复键盘中断时,可能会发送的一些未知字符的BUG

在zlox_keyboard_callback键盘中断处理函数中,当接收到的key扫描码超过scanToAscii_table数组的范围时,使用类似scanToAscii_table[key][4]这样的语句时,
就会访问到scanToAscii_table数组以外的未知数据,从而会向用户程式发送一些包含错误字符的消息,
因此,将原来的类似key_ascii = scanToAscii_table[key][4];的语句调整为
key_ascii = key < scanMaxNum ? scanToAscii_table[key][4] : 0;
这样,当key大于等于scanMaxNum(即scanToAscii_table数组的有效的元素个数)时,就将key_ascii设置为0 。

同时,在build_initrd_img/shell.c文件里,也对接收到的键盘消息进行了判断,只有可显示字符(即ASCII值在32到126之间的字符)才会被添加到input输入数组里。

之前的版本,当shell命令行程式收到键盘中断发送过来的未知字符时,会将这些未知字符给加入到input输入数组里,从而会导致在调用syscall_execve(input)时,出现找不到文件的错误。

该BUG是通过VirtualBox的内置调试器查找出来的。

时间:2014年7月6日
作者:zenglong
官网:www.zengl.com
Source: readme.txt, updated 2014-07-06