2015-08-05 17:03 GMT+02:00 Herve Codina <[email protected]>: > In case of receiving a signal to terminate after init has been completed, > at_exit() is called and tries to write to a closed pipe. > > This patch simply set pipe to -1 in order to invalidate it after closing. > Pipe value checks are allready present in the code. > > Signed-off-by: Herve Codina <[email protected]> > --- > src/pcscdaemon.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/src/pcscdaemon.c b/src/pcscdaemon.c > index 27ee6c9..78b65b8 100644 > --- a/src/pcscdaemon.c > +++ b/src/pcscdaemon.c > @@ -681,6 +681,7 @@ int main(int argc, char **argv) > Log2(PCSC_LOG_ERROR, "write() failed: %s", > strerror(errno)); > } > close(pipefd[1]); > + pipefd[1] = -1; > } > > SVCServiceRunLoop(); > @@ -708,6 +709,7 @@ static void at_exit(void) > Log2(PCSC_LOG_ERROR, "write() failed: %s", > strerror(errno)); > } > close(pipefd[1]); > + pipefd[1] = -1; > } > > exit(ExitValue); > --
Fixed in revision 79410aac02a370d6d92106c015f01ec1491d31ac https://anonscm.debian.org/cgit/pcsclite/PCSC.git/commit/?id=79410aac02a370d6d92106c015f01ec1491d31ac Setting pipefd[1] = -1 just before the exit() is not necessary. So I skipped it. Thanks -- Dr. Ludovic Rousseau _______________________________________________ Pcsclite-muscle mailing list [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pcsclite-muscle
