add: uio_free(*resolvedPath);
context: uio_verifyPath(uio_DirHandle *dirHandle, const char *path,		char **resolvedPath) {	uio_MountTree *tree;	uio_MountTreeItem *item;	const char *rest;	int retVal;	// TODO: "////", "/somedir//", and "//somedir" are accepted as valid		// Determine the absolute path from 'path' which is relative to dirHandle.	if (uio_resolvePath(dirHandle, path, strlen(path), resolvedPath) == -1) {		// errno is set		return -1;	}		// get the MountTree effective for the path	uio_findMountTree(dirHandle->repository->mountTree, *resolvedPath,			&tree, &rest);	if (rest[0] == '\0') {		// Complete match. Even if there are no pLocs in effect here		// (which can only happen in case the mount Tree is empty and		// we're viewing '/').		return 0;	}		// try all the MountInfo structures in effect for this MountTree	for (item = tree->pLocs; item != NULL; item = item->next) {		const char *pRootPath;		uio_PDirHandle *pDirHandle;					pRootPath = uio_mountTreeItemRestPath(item, tree->lastComp,				*resolvedPath);		retVal = uio_walkPhysicalPath(item->mountInfo->pDirHandle, pRootPath,				strlen(pRootPath), &pDirHandle, &rest);		uio_PDirHandle_unref(pDirHandle);		switch (retVal) {			case 0:				// complete match. We're done.				return 0;			case ENOTDIR:				// A component is matched, but not as a dir. Failed.				errno = ENOTDIR;				return -1;			case ENOENT:				// no match; try next pLoc				continue;			default:				// Unknown error. Let's bail out just to be safe.#ifdef DEBUG				fprintf(stderr, "Warning: Unknown error from "						"uio_walkPhysicalPath: %s\n", strerror(retVal));#endif				errno = retVal;				return -1;		}	}		// No match, exit with ENOENT.	errno = ENOENT;	return -1;}