浏览代码

fix: vga vbuffer overflow

greatbridf 3 年之前
父节点
当前提交
bf43fc164f
共有 1 个文件被更改,包括 3 次插入0 次删除
  1. 3 0
      src/kernel/vga.c

+ 3 - 0
src/kernel/vga.c

@@ -20,6 +20,9 @@ void vga_new_line()
     int32_t offset = p_vga_head - VGA_MEM;
     offset %= VGA_SCREEN_WIDTH_IN_CHARS;
     p_vga_head += (VGA_SCREEN_WIDTH_IN_CHARS - offset);
+    if ((p_vga_head - VGA_MEM) >= 80 * 25) {
+        p_vga_head = VGA_MEM;
+    }
 }
 
 void vga_printk(const char* str, uint8_t color)