Fix bug #9822 - Samba crashing during Win8 sync.
authorJeremy Allison <jra@samba.org>
Fri, 26 Apr 2013 17:47:41 +0000 (10:47 -0700)
committerKarolin Seeger <kseeger@samba.org>
Wed, 5 Jun 2013 10:02:42 +0000 (12:02 +0200)
When refactoring the dptr desctructor in the
fix for bug:

9778 (Samba directory code uses dirfd() without vectoring through a VFS call)

I removed the code to NULL out the struct smb_Dir *
pointer inside the fsp struct by mistake.

Re-add the NULLing out of that pointer when
closing a directory pointer associated with
an open file.

Reporter confirms it fixes the crash.

Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: David Disseldorp <ddiss@samba.org>
Autobuild-User(master): David Disseldorp <ddiss@samba.org>
Autobuild-Date(master): Sat Apr 27 20:44:55 CEST 2013 on sn-devel-104
(cherry picked from commit 251767cde9a146d8122d76e257ab232c05ad452a)

source3/smbd/dir.c

index fe643ade8aabf56718166a7586bc49295dacea81..e6c81064c58cf68662155b1f5547c0396d80e2ae 100644 (file)
@@ -598,6 +598,7 @@ void dptr_CloseDir(files_struct *fsp)
                 * all resource deallocation.
                 */
                dptr_close_internal(fsp->dptr);
+               fsp->dptr = NULL;
        }
 }