summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2018-09-27 14:12:47 -0700
committerJeremy Allison <jra@samba.org>2018-09-29 05:32:41 +0200
commit660dbfaeff493359474ebdb36098ac49b3f7ba0c (patch)
tree056d88115af5380cc73d9cbf7f069b39c7369ce0
parent34cbd89fec836f5de0cb5ba3f289b1f4ae00c5d7 (diff)
downloadsamba-660dbfaeff493359474ebdb36098ac49b3f7ba0c.tar.gz
s3: smbd: Prevent valgrind errors in smbtorture3 POSIX test.
Missing fsp talloc free and linked list delete in error paths in close_directory(). Now matches close_normal_file() and close_fake_file(). BUG: https://bugzilla.samba.org/show_bug.cgi?id=13633 Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: Ralph Boehme <slow@samba.org> Autobuild-User(master): Jeremy Allison <jra@samba.org> Autobuild-Date(master): Sat Sep 29 05:32:41 CEST 2018 on sn-devel-144
-rw-r--r--source3/smbd/close.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/source3/smbd/close.c b/source3/smbd/close.c
index 742b3f08715..f2f0a43181e 100644
--- a/source3/smbd/close.c
+++ b/source3/smbd/close.c
@@ -1124,6 +1124,8 @@ static NTSTATUS close_directory(struct smb_request *req, files_struct *fsp,
if (lck == NULL) {
DEBUG(0, ("close_directory: Could not get share mode lock for "
"%s\n", fsp_str_dbg(fsp)));
+ close_filestruct(fsp);
+ file_free(req, fsp);
return NT_STATUS_INVALID_PARAMETER;
}
@@ -1183,6 +1185,8 @@ static NTSTATUS close_directory(struct smb_request *req, files_struct *fsp,
if (!NT_STATUS_IS_OK(status)) {
DEBUG(5, ("delete_all_streams failed: %s\n",
nt_errstr(status)));
+ close_filestruct(fsp);
+ file_free(req, fsp);
return status;
}
}