Fix a kernel crash on a CD, with 512MB RAM
CDDataBuf was considered a free memory. It was then allocated for other kernel structures what eventually caused the crash. The bug report: https://www.youtube.com/watch?v=tXMD9_gEUcA
This commit is contained in:
@@ -596,29 +596,29 @@ CONTROL_EXCEPTION = 'EXPT'
|
|||||||
|
|
||||||
; Window structure:
|
; Window structure:
|
||||||
struct WDATA
|
struct WDATA
|
||||||
box BOX
|
box BOX ; +0
|
||||||
cl_workarea dd ?
|
cl_workarea dd ? ; +16
|
||||||
cl_titlebar dd ?
|
cl_titlebar dd ? ; +20
|
||||||
cl_frames dd ?
|
cl_frames dd ? ; +24
|
||||||
z_modif db ?
|
z_modif db ? ; +28
|
||||||
fl_wstate db ?
|
fl_wstate db ? ; +29
|
||||||
fl_wdrawn db ?
|
fl_wdrawn db ? ; +30
|
||||||
fl_redraw db ?
|
fl_redraw db ? ; +31
|
||||||
clientbox BOX
|
clientbox BOX ; +32
|
||||||
shape dd ?
|
shape dd ? ; +48
|
||||||
shape_scale dd ?
|
shape_scale dd ? ; +52
|
||||||
caption dd ?
|
caption dd ? ; +56
|
||||||
captionEncoding db ?
|
captionEncoding db ? ; +60
|
||||||
rb 3
|
rb 3 ; +61
|
||||||
saved_box BOX
|
saved_box BOX ; +64
|
||||||
cursor dd ?
|
cursor dd ? ; +80
|
||||||
temp_cursor dd ? ;?
|
temp_cursor dd ? ; +84 ?
|
||||||
draw_bgr_x dd ?
|
draw_bgr_x dd ? ; +88
|
||||||
draw_bgr_y dd ?
|
draw_bgr_y dd ? ; +92
|
||||||
draw_data RECT
|
draw_data RECT ; +96
|
||||||
thread dd ? ; ptr APPDATA
|
thread dd ? ; +112 ptr APPDATA
|
||||||
buttons rd 1 ; ptr array buttons
|
buttons rd 1 ; +116 ptr array buttons
|
||||||
rb 12 - 4
|
rb 12 - 4 ; +120
|
||||||
ends
|
ends
|
||||||
|
|
||||||
label WDATA.fl_wstyle byte at WDATA.cl_workarea + 3
|
label WDATA.fl_wstyle byte at WDATA.cl_workarea + 3
|
||||||
|
@@ -531,6 +531,7 @@ CLEAN_ZONE = _CLEAN_ZONE - OS_BASE
|
|||||||
BgrAuxTable rb 32768
|
BgrAuxTable rb 32768
|
||||||
align 65536
|
align 65536
|
||||||
SB16Buffer rb 65536
|
SB16Buffer rb 65536
|
||||||
|
CDDataBuf: rb 0x1000
|
||||||
|
|
||||||
align 4096
|
align 4096
|
||||||
BUTTON_INFO rb 64*1024
|
BUTTON_INFO rb 64*1024
|
||||||
@@ -538,6 +539,3 @@ RESERVED_PORTS:
|
|||||||
rb 64*1024
|
rb 64*1024
|
||||||
sys_pgmap:
|
sys_pgmap:
|
||||||
rb 1024*1024/8
|
rb 1024*1024/8
|
||||||
|
|
||||||
|
|
||||||
CDDataBuf: rb 0x1000
|
|
||||||
|
Reference in New Issue
Block a user