X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Kernel%2Fvfs%2Fhandle.c;h=ecf3f5c0ff86933e3fa7703766e71323ac71dabc;hb=4d498b090274b87befa5652589e0aa54b2b6fe0a;hp=7d679be2866d3dbf7fbf9901490bbbd6f333fbbd;hpb=b5a1402b18d2f8cb360bf2fc524609b374bac8ec;p=tpg%2Facess2.git diff --git a/Kernel/vfs/handle.c b/Kernel/vfs/handle.c index 7d679be2..ecf3f5c0 100644 --- a/Kernel/vfs/handle.c +++ b/Kernel/vfs/handle.c @@ -13,7 +13,9 @@ #define MAX_KERNEL_FILES 128 // === PROTOTYPES === +#if 0 tVFS_Handle *VFS_GetHandle(int FD); +#endif int VFS_AllocHandle(int FD, tVFS_Node *Node, int Mode); // === GLOBALS === @@ -60,14 +62,20 @@ int VFS_AllocHandle(int bIsUser, tVFS_Node *Node, int Mode) Uint addr, size; size = CFGINT(CFG_VFS_MAXFILES) * sizeof(tVFS_Handle); for(addr = 0; addr < size; addr += 0x1000) - MM_Allocate( (Uint)gaUserHandles + addr ); + { + if( !MM_Allocate( (Uint)gaUserHandles + addr ) ) + { + Warning("OOM - VFS_AllocHandle"); + Threads_Exit(0, 0xFF); // Terminate user + } + } memset( gaUserHandles, 0, size ); } // Get a handle for(i=0;i