From 681450d65869eedb90516c2db1a4aec1fd1a9261 Mon Sep 17 00:00:00 2001 From: Tom Christie Date: Mon, 20 Jul 2020 13:05:55 +0100 Subject: [PATCH] Fix staticfiles 404 errors (#1005) --- starlette/staticfiles.py | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/starlette/staticfiles.py b/starlette/staticfiles.py index 4ea2f1b5a..22b9d3ae6 100644 --- a/starlette/staticfiles.py +++ b/starlette/staticfiles.py @@ -140,11 +140,9 @@ async def lookup_path( self, path: str ) -> typing.Tuple[str, typing.Optional[os.stat_result]]: for directory in self.all_directories: - full_path = os.path.join(directory, path) - if ( - os.path.commonprefix([os.path.realpath(full_path), directory]) - != directory - ): + full_path = os.path.realpath(os.path.join(directory, path)) + directory = os.path.realpath(directory) + if os.path.commonprefix([full_path, directory]) != directory: # Don't allow misbehaving clients to break out of the static files directory. continue try: