소스 검색

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)