From f9b41461c03b30c9e4fe8d20606a7c22bfed0ec1 Mon Sep 17 00:00:00 2001 From: ludwig Date: Fri, 6 Jan 2006 19:11:05 +0000 Subject: make memory for generated opcodes executable so the program works with enabled NX feature. git-svn-id: svn://svn.icculus.org/quake3/trunk@466 edf5b092-35ff-0310-97b2-ce42778d08ea --- code/qcommon/vm_x86_64.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'code/qcommon') diff --git a/code/qcommon/vm_x86_64.c b/code/qcommon/vm_x86_64.c index f90b7ff..2111f4e 100644 --- a/code/qcommon/vm_x86_64.c +++ b/code/qcommon/vm_x86_64.c @@ -385,12 +385,11 @@ static int doas(char* in, char* out, unsigned char** compiledcode) if((*compiledcode = (unsigned char*)buf)) { -#ifdef VM_X86_64_STANDALONE // no idea why - if(mprotect(buf, allocsize, PROT_READ|PROT_EXEC) == -1) + // need to be able to exec code + if(mprotect(buf, allocsize, PROT_READ|PROT_WRITE|PROT_EXEC) == -1) { Com_Error(ERR_FATAL, "mprotect failed on %p+%x: %s\n", buf, allocsize, strerror(errno)); } -#endif return size; } -- cgit v1.2.3