You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
28 lines
882 B
28 lines
882 B
5 years ago
|
diff --git a/jinja2/bccache.py b/jinja2/bccache.py
|
||
|
index 09ff845..c31a905 100644
|
||
|
--- a/jinja2/bccache.py
|
||
|
+++ b/jinja2/bccache.py
|
||
|
@@ -16,6 +16,7 @@
|
||
|
"""
|
||
|
from os import path, listdir
|
||
|
import os
|
||
|
+import stat
|
||
|
import sys
|
||
|
import errno
|
||
|
import marshal
|
||
|
@@ -230,6 +231,14 @@ class FileSystemBytecodeCache(BytecodeCache):
|
||
|
if e.errno != errno.EEXIST:
|
||
|
raise
|
||
|
|
||
|
+ if os.lstat(actual_dir).st_uid != os.getuid():
|
||
|
+ raise RuntimeError('Someone else owns temp directory with your '
|
||
|
+ 'uid. You need to explicitly provide another.')
|
||
|
+
|
||
|
+ if stat.S_IMODE(os.lstat(actual_dir).st_mode) != 448:
|
||
|
+ raise RuntimeError('Bad permission flags on temp directory, '
|
||
|
+ 'shoud be 0700. You need to fix this.')
|
||
|
+
|
||
|
return actual_dir
|
||
|
|
||
|
def _get_cache_filename(self, bucket):
|