Corinna Vinschen 2bbe8697d8 Cygwin: fix memory corruption/SEGV if certain socket functions fail
Regression introduced with 2.11.0:

The failure paths in socket, socketpair and accept4 functions and
methods accidentally release *unused* cygheap_fdmanip objects.  The
subsequently called dtable::release method was designed to be called for
*used* cygheap_fdmanip objects only.  Using them on unused objects leads
to NULL pointer member dereferencing.

Worse, the inet/local accept4 methods only release the cygheap_fdmanip
object but neglect to delete the just created fhandler_socket_* object.

Fix this by removing the erroneous release calls in the aforementioned
failure paths and delete the fhandler_socket_* object in accept4 instead.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
2018-10-29 16:32:48 +01:00
..
2012-02-05 14:27:25 +00:00
2012-02-25 10:48:35 +00:00
2012-03-30 13:27:38 +00:00
2012-04-05 14:23:06 +00:00
2012-04-25 07:33:03 +00:00
2012-05-07 15:05:56 +00:00
2012-07-19 09:43:56 +00:00
2012-10-16 12:02:42 +00:00
.
2013-04-01 11:04:41 +00:00
2013-06-05 07:21:56 +00:00
2013-06-06 15:31:15 +00:00
2013-07-15 10:04:03 +00:00
2013-07-31 10:32:46 +00:00
2013-08-30 21:42:40 +00:00
2013-12-08 13:38:27 +00:00
2014-01-27 21:25:39 +00:00
2014-04-07 11:41:49 +00:00
2014-05-23 07:15:30 +00:00
2014-07-18 12:28:00 +00:00
2015-02-04 11:03:36 +00:00
2015-04-23 22:04:59 +02:00
2015-04-30 17:53:15 +02:00
2015-06-03 13:38:19 +02:00
2015-11-05 18:31:36 +01:00
2015-11-12 13:14:08 +01:00
2016-01-23 22:33:31 +01:00
2016-04-05 10:35:05 +02:00
2016-04-20 12:34:07 +02:00
2016-06-21 13:43:53 +02:00
2017-02-03 21:54:25 +01:00
2017-06-22 14:48:43 +02:00