commit 32d500ed15421628eb29e026b0350d7cd2fcc1f6
Author: Oswald Buddenhagen <[email protected]>
Date: Fri Jun 3 12:14:05 2022 +0200
simplify maildir recursion limitation
the isDir argument is effectively already a depth counter, so we don't
need a separate one for that.
amends 79797826.
src/drv_maildir.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/src/drv_maildir.c b/src/drv_maildir.c
index 58f6a77e..9eac0d5d 100644
--- a/src/drv_maildir.c
+++ b/src/drv_maildir.c
@@ -367,7 +367,7 @@ static int maildir_list_inbox( maildir_store_t *ctx, int
flags, const char *base
static int maildir_list_path( maildir_store_t *ctx, int flags, const char
*inbox );
static int
-maildir_list_recurse( maildir_store_t *ctx, int isBox, int flags, int depth,
+maildir_list_recurse( maildir_store_t *ctx, int isBox, int flags,
const char *inbox, uint inboxLen, const char *basePath,
uint basePathLen,
char *path, int pathLen, char *name, int nameLen )
{
@@ -389,7 +389,7 @@ maildir_list_recurse( maildir_store_t *ctx, int isBox, int
flags, int depth,
closedir( dir );
return -1;
}
- if (++depth > 10) {
+ if (isBox > 10) {
// We do the other checks first to avoid confusing error
messages for files.
error( "Maildir error: path %s is too deeply nested. Symlink
loop?\n", path );
closedir( dir );
@@ -442,7 +442,7 @@ maildir_list_recurse( maildir_store_t *ctx, int isBox, int
flags, int depth,
add_string_list( &ctx->boxes, name );
path[pl] = 0;
name[nl++] = '/';
- if (maildir_list_recurse( ctx, isBox + 1, flags, depth,
inbox, inboxLen, basePath, basePathLen, path, pl, name, nl ) < 0) {
+ if (maildir_list_recurse( ctx, isBox + 1, flags, inbox,
inboxLen, basePath, basePathLen, path, pl, name, nl ) < 0) {
closedir( dir );
return -1;
}
@@ -463,7 +463,7 @@ maildir_list_inbox( maildir_store_t *ctx, int flags, const
char *basePath )
add_string_list( &ctx->boxes, "INBOX" );
return maildir_list_recurse(
- ctx, 1, flags, 0, NULL, 0, basePath, basePath ? strlen(
basePath ) - 1 : 0,
+ ctx, 1, flags, NULL, 0, basePath, basePath ? strlen( basePath )
- 1 : 0,
path, nfsnprintf( path, _POSIX_PATH_MAX, "%s/",
ctx->conf->inbox ),
name, nfsnprintf( name, _POSIX_PATH_MAX, "INBOX/" ) );
}
@@ -480,7 +480,7 @@ maildir_list_path( maildir_store_t *ctx, int flags, const
char *inbox )
if (maildir_ensure_path( ctx->conf ) < 0)
return -1;
return maildir_list_recurse(
- ctx, 0, flags, 0, inbox, inbox ? strlen( inbox ) : 0, NULL, 0,
+ ctx, 0, flags, inbox, inbox ? strlen( inbox ) : 0, NULL, 0,
path, nfsnprintf( path, _POSIX_PATH_MAX, "%s", ctx->conf->path
),
name, 0 );
}
_______________________________________________
isync-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/isync-devel