Fixing places where malloc() (and others) is not null checked
authorJohn Hodge <[email protected]>
Fri, 22 Oct 2010 06:29:48 +0000 (14:29 +0800)
committerJohn Hodge <[email protected]>
Fri, 22 Oct 2010 06:29:48 +0000 (14:29 +0800)
Kernel/lib.c
Kernel/vfs/open.c

index d388050..4fa226c 100644 (file)
@@ -459,6 +459,7 @@ char *strdup(const char *Str)
 {
        char    *ret;
        ret = malloc(strlen(Str)+1);
+       if( !ret )      return NULL;
        strcpy(ret, Str);
        return ret;
 }
index bd43a5f..5420b33 100644 (file)
@@ -458,6 +458,10 @@ int VFS_Open(char *Path, Uint Mode)
        
        // Get absolute path
        absPath = VFS_GetAbsPath(Path);
+       if(absPath == NULL) {
+               Log_Warning("VFS", "VFS_Open: Path expansion failed '%s'", Path);
+               return -1;
+       }
        LOG("absPath = \"%s\"", absPath);
        // Parse path and get mount point
        node = VFS_ParsePath(absPath, NULL);

UCC git Repository :: git.ucc.asn.au