From 2f25d1608356bf124e502c6aa438ec664c53de80 Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Tue, 16 Jul 2013 13:02:54 +0100 Subject: Fix a couple of resource leaks on exceptions being thrown. --- src/lib/scp_dcp_job.cc | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src/lib') diff --git a/src/lib/scp_dcp_job.cc b/src/lib/scp_dcp_job.cc index 8cde44f02..528d393a3 100644 --- a/src/lib/scp_dcp_job.cc +++ b/src/lib/scp_dcp_job.cc @@ -179,11 +179,13 @@ SCPDCPJob::run () int const t = min (to_do, buffer_size); size_t const read = fread (buffer, 1, t, f); if (read != size_t (t)) { + fclose (f); throw ReadFileError (boost::filesystem::path (*i).string()); } r = ssh_scp_write (sc.scp, buffer, t); if (r != SSH_OK) { + fclose (f); throw NetworkError (String::compose (_("Could not write to remote file (%1)"), ssh_get_error (ss.session))); } to_do -= t; -- cgit v1.2.3