diff options
author | Jeremy Allison <jra@samba.org> | 2018-09-27 14:12:47 -0700 |
---|---|---|
committer | Karolin Seeger <kseeger@samba.org> | 2018-10-09 17:20:21 +0200 |
commit | 1f634f328c46ac2dbfccbaf2efa52436299f4a3b (patch) | |
tree | d4890d8291c22ca84a78459483be5ca751c40221 | |
parent | 629466ec5662248ffeba1faf7b7e6c9dbf46512f (diff) | |
download | samba-1f634f328c46ac2dbfccbaf2efa52436299f4a3b.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
(cherry picked from commit 660dbfaeff493359474ebdb36098ac49b3f7ba0c)
Autobuild-User(v4-7-test): Karolin Seeger <kseeger@samba.org>
Autobuild-Date(v4-7-test): Tue Oct 9 17:20:22 CEST 2018 on sn-devel-144
-rw-r--r-- | source3/smbd/close.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/source3/smbd/close.c b/source3/smbd/close.c index 095feecf204..9c9217b177a 100644 --- a/source3/smbd/close.c +++ b/source3/smbd/close.c @@ -1081,6 +1081,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; } @@ -1164,6 +1166,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; } } |