summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source3/modules/vfs_scannedonly.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/source3/modules/vfs_scannedonly.c b/source3/modules/vfs_scannedonly.c
index 42e9aeccda..12077f374d 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)