From 89cd68d8aff07792b03a0affc19dbb01f036f554 Mon Sep 17 00:00:00 2001 From: Maxime Coste Date: Tue, 12 Feb 2019 21:05:47 +1100 Subject: Check the return value of the rename call --- src/file.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/file.cc') diff --git a/src/file.cc b/src/file.cc index eb26ddc4..b8bf2de8 100644 --- a/src/file.cc +++ b/src/file.cc @@ -335,8 +335,8 @@ void write_buffer_to_file(Buffer& buffer, StringView filename, ::fsync(fd); } - if (replace) - rename(temp_filename, zfilename); + if (replace and rename(temp_filename, zfilename) != 0) + throw runtime_error("replacing file failed"); if ((buffer.flags() & Buffer::Flags::File) and real_path(filename) == real_path(buffer.name())) -- cgit v1.2.3