Show
Ignore:
Timestamp:
07/09/08 18:46:57 (5 months ago)
Author:
mwhitworth
Message:

Fix buffer locking behaviour to avoid races.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • Whitix/branches/fs/fs/vfs/load.c

    r701 r770  
    7272        int err; 
    7373 
    74         err=DoOpenFile(file,pathName,FILE_READ,0); 
     74        err=DoOpenFile(file, pathName, FILE_READ, 0); 
    7575 
    7676        if (err) 
    7777                return err; 
    78  
     78         
    7979        if (file->vNode->mode & VFS_ATTR_DIR) 
    8080                return -EISDIR; 
     
    377377        ExecSetupContext(&execArgs,pathName,fds,argv); 
    378378 
    379         /* Open exectuable */ 
     379        /* Open executable */ 
    380380        err=ExecOpen(pathName,&execArgs.exec); 
    381381        if (err) 
     
    708708        /* Should calculate total program header size. TODO: Memory map in. See linker code. */ 
    709709        buffer=(BYTE*)malloc(512); 
    710         if (!DoReadFile(&args->exec,buffer,512)) 
     710        if (!DoReadFile(&args->exec, buffer, 512)) 
    711711        { 
    712712                KePrint("Failed to read file %s\n",args->pathName); 
     
    717717        header=(struct ElfHeader*)buffer; 
    718718 
    719         if (ElfCheckHeader(header,ELF_EXEC | ELF_DYN)) 
    720         { 
    721                 KePrint("%s: not a valid ELF executable\n",args->pathName); 
     719        if (ElfCheckHeader(header, ELF_EXEC | ELF_DYN)) 
     720        { 
     721                KePrint("%s: not a valid ELF executable\n", args->pathName); 
    722722                err=-EINVAL; 
    723723                goto freeBuffer;