summaryrefslogtreecommitdiffstats
path: root/loader
diff options
context:
space:
mode:
Diffstat (limited to 'loader')
-rw-r--r--loader/ext.c10
-rw-r--r--loader/ldt_keeper.c4
2 files changed, 12 insertions, 2 deletions
diff --git a/loader/ext.c b/loader/ext.c
index 0b747b7f0c..eb56db1478 100644
--- a/loader/ext.c
+++ b/loader/ext.c
@@ -250,7 +250,7 @@ LPVOID FILE_dommap( int unix_handle, LPVOID start,
{
if ((fdzero = open( "/dev/zero", O_RDONLY )) == -1)
{
- perror( "/dev/zero: open" );
+ perror( "Cannot open /dev/zero for READ. Check permissions! error: " );
exit(1);
}
}
@@ -366,8 +366,10 @@ HANDLE WINAPI CreateFileMappingA(HANDLE handle, LPSECURITY_ATTRIBUTES lpAttr,
{
anon=1;
hFile=open("/dev/zero", O_RDWR);
- if(hFile<0)
+ if(hFile<0){
+ perror( "Cannot open /dev/zero for READ+WRITE. Check permissions! error: " );
return 0;
+ }
}
if(!anon)
{
@@ -455,6 +457,10 @@ LPVOID WINAPI VirtualAlloc(LPVOID address, DWORD size, DWORD type, DWORD protec
{
void* answer;
int fd=open("/dev/zero", O_RDWR);
+ if(fd<0){
+ perror( "Cannot open /dev/zero for READ+WRITE. Check permissions! error: " );
+ return NULL;
+ }
size=(size+0xffff)&(~0xffff);
//printf("VirtualAlloc(0x%08X, %d)\n", address, size);
if(address!=0)
diff --git a/loader/ldt_keeper.c b/loader/ldt_keeper.c
index 5641ceaf5c..6e3ece8d25 100644
--- a/loader/ldt_keeper.c
+++ b/loader/ldt_keeper.c
@@ -157,6 +157,10 @@ void Setup_LDT_Keeper(void)
prev_struct = 0;
fd = open("/dev/zero", O_RDWR);
+ if(fd<0){
+ perror( "Cannot open /dev/zero for READ+WRITE. Check permissions! error: " );
+ return;
+ }
fs_seg = mmap(NULL, getpagesize(), PROT_READ | PROT_WRITE, MAP_PRIVATE,
fd, 0);
if(fs_seg==(void*)-1)