rem: resolved_path = malloc(PATH_MAX + 1);
add: resolved_path = (char *)malloc(PATH_MAX + 1);
context: notify_probe_by_file(device_node_info *node, const char *consumer_name){	char *type;	char *resolved_path;	char *module_name;	int i;	bool valid_module_name;	status_t res;	TRACE(("notify_probe_by_file(%s)\n", consumer_name));	res = pnp_get_attr_string(node, PNP_DRIVER_TYPE, &type, false);	if (res != B_OK)		return res;	// resolve link to actual driver file	resolved_path = malloc(PATH_MAX + 1);	if (resolved_path == NULL) {		res = B_NO_MEMORY;		goto err;	}	// ToDo: do something about this; realpath() doesn't exist in the kernel!	//module_name = pnp_boot_safe_realpath(consumer_name, resolved_path);	module_name = NULL;	if (module_name == NULL) {		// broken link or something		dprintf("Cannot resolve driver file name: %s\n", consumer_name);		res = errno;		goto err2;	}	// make sure both consumer and module file are either in 	// system or user modules directory	valid_module_name = false;	for (i = 0; i < (disable_useraddons ? 1 : 2); ++i) {		int len = strlen(modules_dirs[i]);		if (!strncmp(consumer_name, modules_dirs[i], len)			&& !strncmp(module_name, modules_dirs[i], len)) {			valid_module_name = true;			module_name = module_name + len;			break;		}	}	if (!valid_module_name) {		TRACE(("Module file %s of consumer %s is in wrong path\n",			consumer_name, module_name));		res = B_NAME_NOT_FOUND;		goto err2;	}	// append driver type to get specific module name	strlcat(module_name, "/", PATH_MAX);	strlcat(module_name, type, PATH_MAX);		res = pnp_notify_probe_by_module(node, module_name);err2:	free(resolved_path);err:	free(type);	return res;}