JL-Cheng / xv6-public

xv6 OS
http://pdos.csail.mit.edu/6.828/
Other
0 stars 3 forks source link

不安全的sys_setconsole函数 #4

Open youkaichao opened 6 years ago

youkaichao commented 6 years ago

sys_setconsole 函数中没有对pos的范围进行检测,导致系统可以被恶意程序攻击,通过设置pos, ch, color的值达到写整个内存的目的。

建议修改代码,加入范围检测。

另外,我想知道屏幕每行能显示的字符和能显示的行数是怎么确定的?是写死的吗?

JunguangJiang commented 6 years ago

问题2:屏幕的尺寸为25x80,目前我没有在代码中找到可以设置屏幕大小的位置。原版xv6代码给出的console.c中默认了上述了屏幕大小的尺寸,所有的输出代码都是基于这个大小编写的。 问题1:我之后会增加一下范围检测的代码。

youkaichao commented 6 years ago

查询资料知,80x25的color text mode 是默认的文本模式