]> git.saurik.com Git - apt.git/commit - apt-pkg/deb/dpkgpm.cc
do not make PTY slave the controlling terminal
authorDavid Kalnischkies <david@kalnischkies.de>
Wed, 10 Dec 2014 21:26:59 +0000 (22:26 +0100)
committerDavid Kalnischkies <david@kalnischkies.de>
Wed, 10 Dec 2014 22:47:46 +0000 (23:47 +0100)
commitc6bc9735cf1486d40d85bba90cfc3aaa6537a9c0
treecb80d93ec687b6bcc68655ad0ba9984ac30423e5
parented793a19ec00b83254029509bc516e3ba911c75a
do not make PTY slave the controlling terminal

If we have no controlling terminal opening a terminal will make this
terminal our controller, which is a serious problem if this happens to
be the pseudo terminal we created to run dpkg in as we will close this
terminal at the end hanging ourself up in the process…

The offending open is the one we do to have at least one slave fd open
all the time, but for good measure, we apply the flag also to the slave
fd opening in the child process as we set the controlling terminal
explicitely here.

This is a regression from 150bdc9ca5d656f9fba94d37c5f4f183b02bd746 with
the slight twist that this usecase was silently broken before in that it
wasn't logging the output in term.log (as a pseudo terminal wasn't
created).

Closes: 772641
apt-pkg/deb/dpkgpm.cc
test/integration/test-no-fds-leaked-to-maintainer-scripts