mirror of
https://github.com/Ed94/Odin.git
synced 2026-08-05 23:28:48 +00:00
Merge pull request #3076 from xb-bx/mprotect-fix-for-linux-and-darwin
virtual.protect returns inverted result on linux and darwin platforms
This commit is contained in:
@@ -136,7 +136,7 @@ _protect :: proc "contextless" (data: rawptr, size: uint, flags: Protect_Flags)
|
|||||||
if .Write in flags { pflags |= PROT_WRITE }
|
if .Write in flags { pflags |= PROT_WRITE }
|
||||||
if .Execute in flags { pflags |= PROT_EXEC }
|
if .Execute in flags { pflags |= PROT_EXEC }
|
||||||
err := _mprotect(data, size, pflags)
|
err := _mprotect(data, size, pflags)
|
||||||
return err != 0
|
return err == 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ _protect :: proc "contextless" (data: rawptr, size: uint, flags: Protect_Flags)
|
|||||||
if .Write in flags { pflags |= {.WRITE} }
|
if .Write in flags { pflags |= {.WRITE} }
|
||||||
if .Execute in flags { pflags |= {.EXEC} }
|
if .Execute in flags { pflags |= {.EXEC} }
|
||||||
errno := linux.mprotect(data, size, pflags)
|
errno := linux.mprotect(data, size, pflags)
|
||||||
return errno != .NONE
|
return errno == .NONE
|
||||||
}
|
}
|
||||||
|
|
||||||
_platform_memory_init :: proc() {
|
_platform_memory_init :: proc() {
|
||||||
|
|||||||
Reference in New Issue
Block a user