rem: rc = user_copy_strings_array(args, argc, &kargs); if (rc < 0) goto error;  if (envp == NULL) { envp = (char **)thread_get_current_thread()->team->user_env_base; for (envc = 0; envp && (envp[envc]); envc++); } rc = user_copy_strings_array(envp, envc, &kenv);
add: rc = user_copy_strings_array(userArgs, argCount, &args);
context: user_team_create_team(const char *upath, const char *uname, char **args, int argc, char **envp, int envc, int priority){	char path[SYS_MAX_PATH_LEN];	char name[SYS_MAX_OS_NAME_LEN];	char **kargs;	char **kenv;	int rc;	dprintf("user_team_create_team : argc=%d \n",argc);	if ((addr)upath >= KERNEL_BASE && (addr)upath <= KERNEL_TOP)		return ERR_VM_BAD_USER_MEMORY;	if ((addr)uname >= KERNEL_BASE && (addr)uname <= KERNEL_TOP)		return ERR_VM_BAD_USER_MEMORY;	rc = user_copy_strings_array(args, argc, &kargs);	if (rc < 0)		goto error;		if (envp == NULL) {		envp = (char **)thread_get_current_thread()->team->user_env_base;		for (envc = 0; envp && (envp[envc]); envc++);	}	rc = user_copy_strings_array(envp, envc, &kenv);	if (rc < 0)		goto error;	rc = user_strncpy(path, upath, SYS_MAX_PATH_LEN-1);	if (rc < 0)		goto error;	path[SYS_MAX_PATH_LEN-1] = 0;	rc = user_strncpy(name, uname, SYS_MAX_OS_NAME_LEN-1);	if (rc < 0)		goto error;	name[SYS_MAX_OS_NAME_LEN-1] = 0;	return team_create_team(path, name, kargs, argc, kenv, envc, priority);error:	kfree_strings_array(kargs, argc);	kfree_strings_array(kenv, envc);	return rc;}