avoid overwriting another user's database

Should fix issue #39
pull/40/head release-v15
Joel Schaerer 13 years ago
parent 36daeb1e32
commit 1bc3440968

@ -49,6 +49,9 @@ def dicadd(dic, key, increment=1):
def save(path_dict, dic_file):
"""Save the database in an atomic way, and preserve
a backup file."""
# If the dic_file exists, check that it belongs to us
# Otherwise, fail quietly
if (not os.path.exists(dic_file)) or os.getuid() == os.stat(dic_file)[4]:
temp = NamedTemporaryFile(dir=CONFIG_DIR, delete=False)
pickle.dump(path_dict, temp, -1)
temp.flush()

Loading…
Cancel
Save