diff options
Diffstat (limited to 'source3/modules/vfs_streams_depot.c')
-rw-r--r-- | source3/modules/vfs_streams_depot.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/source3/modules/vfs_streams_depot.c b/source3/modules/vfs_streams_depot.c index aa0189123b..51cd56e8fb 100644 --- a/source3/modules/vfs_streams_depot.c +++ b/source3/modules/vfs_streams_depot.c @@ -384,7 +384,7 @@ static NTSTATUS walk_streams(vfs_handle_struct *handle, { char *dirname; SMB_STRUCT_DIR *dirhandle = NULL; - char *dirent; + char *dirent = NULL; dirname = stream_dir(handle, smb_fname_base, &smb_fname_base->st, false); @@ -411,14 +411,17 @@ static NTSTATUS walk_streams(vfs_handle_struct *handle, while ((dirent = vfs_readdirname(handle->conn, dirhandle, NULL)) != NULL) { if (ISDOT(dirent) || ISDOTDOT(dirent)) { + TALLOC_FREE(dirent); continue; } DEBUG(10, ("walk_streams: dirent=%s\n", dirent)); if (!fn(dirname, dirent, private_data)) { + TALLOC_FREE(dirent); break; } + TALLOC_FREE(dirent); } SMB_VFS_NEXT_CLOSEDIR(handle, dirhandle); |