From: Jeremy Allison Date: Mon, 19 Dec 2016 20:35:32 +0000 (-0800) Subject: CVE-2017-2619: s3: smbd: Correctly fallback to open_dir_safely if FDOPENDIR not suppo... X-Git-Tag: tdb-1.3.13~394 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=49ed0b01d1310f09e321122effed571b8ba852cb;p=thirdparty%2Fsamba.git CVE-2017-2619: s3: smbd: Correctly fallback to open_dir_safely if FDOPENDIR not supported on system. BUG: https://bugzilla.samba.org/show_bug.cgi?id=12496 Signed-off-by: Jeremy Allison Reviewed-by: Uri Simchoni --- diff --git a/source3/smbd/dir.c b/source3/smbd/dir.c index 2fd50850665..1348d12298c 100644 --- a/source3/smbd/dir.c +++ b/source3/smbd/dir.c @@ -1797,20 +1797,15 @@ static struct smb_Dir *OpenDir_fsp(TALLOC_CTX *mem_ctx, connection_struct *conn, } if (dirp->dir == NULL) { - /* FDOPENDIR didn't work. Use OPENDIR instead. */ - dirp->dir = SMB_VFS_OPENDIR(conn, - dirp->dir_smb_fname, + /* FDOPENDIR is not supported. Use OPENDIR instead. */ + TALLOC_FREE(dirp); + return open_dir_safely(mem_ctx, + conn, + fsp->fsp_name, mask, attr); } - if (!dirp->dir) { - DEBUG(5,("OpenDir_fsp: Can't open %s. %s\n", - dirp->dir_smb_fname->base_name, - strerror(errno) )); - goto fail; - } - if (sconn && !sconn->using_smb2) { sconn->searches.dirhandles_open++; }