From d8990326361c215e9da90fd587b3cd51c113376f Mon Sep 17 00:00:00 2001 From: Jeremy Allison Date: Thu, 4 Feb 2010 16:23:32 -0800 Subject: [PATCH] Fix bug 7075 - bug in vfs_scannedonly rmdir implementation. Check for NULL on opendir, correctly call next rmdir. Jeremy. --- source3/modules/vfs_scannedonly.c | 6 +++++- 1 files changed, 5 insertions(+), 1 deletions(-) diff --git a/source3/modules/vfs_scannedonly.c b/source3/modules/vfs_scannedonly.c index 42e9aec..12077f3 100644 --- a/source3/modules/vfs_scannedonly.c +++ b/source3/modules/vfs_scannedonly.c @@ -828,6 +828,9 @@ static int scannedonly_rmdir(vfs_handle_struct * handle, const char *path) path_w_slash = name_w_ending_slash(ctx,path); dirp = SMB_VFS_NEXT_OPENDIR(handle, path, NULL, 0); + if (!dirp) { + return -1; + } while ((dire = SMB_VFS_NEXT_READDIR(handle, dirp, NULL)) != NULL) { if (ISDOT(dire->d_name) || ISDOTDOT(dire->d_name)) { continue; @@ -884,7 +887,8 @@ static int scannedonly_rmdir(vfs_handle_struct * handle, const char *path) TALLOC_FREE(smb_fname); } } - return SMB_VFS_NEXT_CLOSEDIR(handle, dirp); + SMB_VFS_NEXT_CLOSEDIR(handle, dirp); + return SMB_VFS_NEXT_RMDIR(handle, path); } static void free_scannedonly_data(void **data) -- 1.6.6