The Samba-Bugzilla – Attachment 8941 Details for
Bug 9927
errno gets overwritten in call to check_parent_exists()
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
v3-6-test patch
0001-check_parent_exists-can-change-errno.-Ensure-we-pres.patch (text/plain), 1.69 KB, created by
Andreas Schneider
on 2013-06-05 05:43:58 UTC
(
hide
)
Description:
v3-6-test patch
Filename:
MIME Type:
Creator:
Andreas Schneider
Created:
2013-06-05 05:43:58 UTC
Size:
1.69 KB
patch
obsolete
>From fec9e25d9f58410c99438a916c102ba502ca3ea5 Mon Sep 17 00:00:00 2001 >From: Anand Avati <avati@redhat.com> >Date: Mon, 29 Apr 2013 15:21:00 -0700 >Subject: [PATCH] check_parent_exists() can change errno. Ensure we preserve it > across calls. > >Reviewed-by: Jeremy Allison <jra@samba.org> >Reviewed-by: Volker Lendecke <vl@samba.org> > >Autobuild-User(master): Volker Lendecke <vl@samba.org> >Autobuild-Date(master): Tue Apr 30 11:00:11 CEST 2013 on sn-devel-104 >--- > source3/smbd/filename.c | 9 ++++++++- > 1 file changed, 8 insertions(+), 1 deletion(-) > >diff --git a/source3/smbd/filename.c b/source3/smbd/filename.c >index b2ed239..207b56c 100644 >--- a/source3/smbd/filename.c >+++ b/source3/smbd/filename.c >@@ -445,13 +445,17 @@ NTSTATUS unix_convert(TALLOC_CTX *ctx, > > if (errno == ENOENT) { > /* Optimization when creating a new file - only >- the last component doesn't exist. */ >+ the last component doesn't exist. >+ NOTE : check_parent_exists() doesn't preserve errno. >+ */ >+ int saved_errno = errno; > status = check_parent_exists(ctx, > conn, > posix_pathnames, > smb_fname, > &dirpath, > &start); >+ errno = saved_errno; > if (!NT_STATUS_IS_OK(status)) { > goto fail; > } >@@ -524,13 +528,16 @@ NTSTATUS unix_convert(TALLOC_CTX *ctx, > * Optimization for common case where the wildcard > * is in the last component and the client already > * sent the correct case. >+ * NOTE : check_parent_exists() doesn't preserve errno. > */ >+ int saved_errno = errno; > status = check_parent_exists(ctx, > conn, > posix_pathnames, > smb_fname, > &dirpath, > &start); >+ errno = saved_errno; > if (!NT_STATUS_IS_OK(status)) { > goto fail; > } >-- >1.8.3 >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Flags:
jra
:
review+
Actions:
View
Attachments on
bug 9927
: 8941