| Date | Tue, 5 Dec 2006 22:21:14 +0100 (MET) | From | Jan Engelhardt <> | Subject | Re: [PATCH 20/35] Unionfs: Directory manipulation helper functions |
| |
>+++ b/fs/unionfs/dirhelper.c
>+/* This filldir function makes sure only whiteouts exist within a directory. */ >+static int readdir_util_callback(void *dirent, const char *name, int namelen, >+ loff_t offset, u64 ino, unsigned int d_type) >+{ >+ int err = 0; >+ struct unionfs_rdutil_callback *buf = dirent; >+ int whiteout = 0; >+ struct filldir_node *found; >+ >+ buf->filldir_called = 1; >+ >+ if (name[0] == '.' >+ && (namelen == 1 || (name[1] == '.' && namelen == 2))) >+ goto out; >+ >+ if (namelen > UNIONFS_WHLEN && !strncmp(name, UNIONFS_WHPFX, UNIONFS_WHLEN)) {
When I see this if, I feel like asking (unrelated to dirhelper.c): what do we do when
* strlen(UNIONFS_WHPFX filename) is greater than the maximum file name length supported by a filesystem?
* strlen(absolute_path(UNIONFS_WHPFX filename)) is greater than PATH_MAX?
-`J' -- - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
|