Line 22:
Line 22:
* L_fff1c730, prev ver @ L_fff1c6f0.
* L_fff1c730, prev ver @ L_fff1c6f0.
* L_fff26410, prev ver @ L_fff26394.
* L_fff26410, prev ver @ L_fff26394.
+
+
The first function ("validateChunk") now makes sure that:
+
chunk + currentChunkSize >= currentChunk
+
+
when checking that the current chunk doesn't overlap with either the previous or next one.
+
+
+
The second function ("Kern::ControlMemory"), aside from other small changes, now makes additional checks on the previously allocated memory chunk; the code for that is now:
+
if(chunkSizeInPages >= regionSize >> 12 || chunk < regionBase || chunk + chunkSize < chunk || chunk + chunkSize > regionBase + regionSize) panic;
+
+
+
The third function ("insertChunk") now makes the following checks:
+
if(chunkSizeInPages >= regionSize >> 12 || regionBase + regionSize < chunk + chunkSize) panic;
+
// ...
+
if(leftChunk && leftChunk + leftChunkSize <= leftChunk) panic;
====FIRM-modules====
====FIRM-modules====