Browse Source

Merge pull request #3076 from xb-bx/mprotect-fix-for-linux-and-darwin

virtual.protect returns inverted result on linux and darwin platforms
gingerBill 1 year ago
parent
commit
c5bab58180
2 changed files with 2 additions and 2 deletions
  1. 1 1
      core/mem/virtual/virtual_darwin.odin
  2. 1 1
      core/mem/virtual/virtual_linux.odin

+ 1 - 1
core/mem/virtual/virtual_darwin.odin

@@ -136,7 +136,7 @@ _protect :: proc "contextless" (data: rawptr, size: uint, flags: Protect_Flags)
 	if .Write   in flags { pflags |= PROT_WRITE }
 	if .Execute in flags { pflags |= PROT_EXEC  }
 	err := _mprotect(data, size, pflags)
-	return err != 0
+	return err == 0
 }
 
 

+ 1 - 1
core/mem/virtual/virtual_linux.odin

@@ -40,7 +40,7 @@ _protect :: proc "contextless" (data: rawptr, size: uint, flags: Protect_Flags)
 	if .Write   in flags { pflags |= {.WRITE} }
 	if .Execute in flags { pflags |= {.EXEC}  }
 	errno := linux.mprotect(data, size, pflags)
-	return errno != .NONE
+	return errno == .NONE
 }
 
 _platform_memory_init :: proc() {