summaryrefslogtreecommitdiffstats
path: root/source3/smbd
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2014-04-29 16:59:55 -0700
committerVolker Lendecke <vl@samba.org>2014-04-30 14:52:08 +0200
commit41c5277f57eac320efb99f22b8336b13d88e8e26 (patch)
tree3f1566276acddbd511bcc652dfe2c99241510520 /source3/smbd
parent77b04f1df6bb916fcf07d92e22b837e131d09034 (diff)
downloadsamba-41c5277f57eac320efb99f22b8336b13d88e8e26.tar.gz
samba-41c5277f57eac320efb99f22b8336b13d88e8e26.tar.xz
samba-41c5277f57eac320efb99f22b8336b13d88e8e26.zip
s3: smbd : Fix wildcard unlink to fail if we get an error rather than trying to continue.
This can break smbd if we end up leaving a SHARING_VIOLATION retry record on the queue. Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: Volker Lendecke <vl@samba.org>
Diffstat (limited to 'source3/smbd')
-rw-r--r--source3/smbd/reply.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/source3/smbd/reply.c b/source3/smbd/reply.c
index da59ca75ae1..f737d7499af 100644
--- a/source3/smbd/reply.c
+++ b/source3/smbd/reply.c
@@ -2909,9 +2909,10 @@ NTSTATUS unlink_internals(connection_struct *conn, struct smb_request *req,
status = do_unlink(conn, req, smb_fname, dirtype);
if (!NT_STATUS_IS_OK(status)) {
+ TALLOC_FREE(dir_hnd);
TALLOC_FREE(frame);
TALLOC_FREE(talloced);
- continue;
+ goto out;
}
count++;