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: samba-4.4.12~6 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6165d9a0158d40a971d7d72a379d1d436f1b30fb;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 6b62f1415cf..3432788f6f7 100644 --- a/source3/smbd/dir.c +++ b/source3/smbd/dir.c @@ -1742,14 +1742,13 @@ 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_path, mask, attr); - } - - if (!dirp->dir) { - DEBUG(5,("OpenDir_fsp: Can't open %s. %s\n", dirp->dir_path, - strerror(errno) )); - goto fail; + /* FDOPENDIR is not supported. Use OPENDIR instead. */ + TALLOC_FREE(dirp); + return open_dir_safely(mem_ctx, + conn, + fsp->fsp_name->base_name, + mask, + attr); } if (sconn && !sconn->using_smb2) {