From: David Kalnischkies Date: Thu, 9 Jun 2016 20:58:06 +0000 (+0200) Subject: don't leak EDSP solver output fd X-Git-Tag: 1.3_exp2~3 X-Git-Url: https://git.saurik.com/apt.git/commitdiff_plain/2202a8a05766586c60217d43193416dbd84be027?hp=6f35be91c9e86e463bca7df6eadf05412c7b732c don't leak EDSP solver output fd --- diff --git a/apt-pkg/edsp.cc b/apt-pkg/edsp.cc index 890252ba4..6e0a0fc2f 100644 --- a/apt-pkg/edsp.cc +++ b/apt-pkg/edsp.cc @@ -625,7 +625,7 @@ bool EDSP::ReadResponse(int const input, pkgDepCache &Cache, OpProgress *Progres } FileFd in; - in.OpenDescriptor(input, FileFd::ReadOnly); + in.OpenDescriptor(input, FileFd::ReadOnly, true); pkgTagFile response(&in, 100); pkgTagSection section; diff --git a/apt-pkg/edsp.h b/apt-pkg/edsp.h index 57d4214e8..f1624cd6a 100644 --- a/apt-pkg/edsp.h +++ b/apt-pkg/edsp.h @@ -109,8 +109,9 @@ namespace EDSP /*{{{*/ * * This method takes care of interpreting whatever the solver sends * through the standard output like a solution, progress or an error. - * The main thread should handle his control over to this method to - * wait for the solver to finish the given task + * The main thread should hand his control over to this method to + * wait for the solver to finish the given task. The file descriptor + * used as input is completely consumed and closed by the method. * * \param input file descriptor with the response from the solver * \param Cache the solution should be applied on if any