On 16/11/12 12:02, David Sommerseth wrote: > From: David Sommerseth <dav...@redhat.com> > > This solves a SEGV situation when using the management API while OpenVPN > is closing down. > > The situation happens when the management socket has closed and OpenVPN > tries to write an error about this to the management socket. What happens > is that > > virtual_output_callback_func() is called, which then calls > -> man_output_list_push_finalize() > -> man_output_standalone() > -> man_write() <-- this does the socket write > -> man_io_error() > -> x_msg() > -> virtual_output_print() > -> virtual_output_callback_func() (recursion start) > > virtual_output_callback_func() do have a mechanism to avoid recursion, > but that did not keep the recurse counter when man_output_list_push_finalize() > is called. > > This patch just reorganise the recursion block to also keep the counter while > calling the other functions from virtual_output_callback_func() > > Signed-off-by: David Sommerseth <dav...@redhat.com> > --- > src/openvpn/manage.c | 15 ++++++++------- > 1 file changed, 8 insertions(+), 7 deletions(-)
Applied to master and beta/2.3 branches commit b2b66179f6dcc37de9582d5c3044f0357dda3df3 (master) commit 5541ea21691b5b39adc4bd3e1ff1af86a050c71d (beta/2.3) Author: David Sommerseth <dav...@redhat.com> List-Post: openvpn-devel@lists.sourceforge.net Date: Fri Nov 16 12:02:06 2012 +0100 Avoid recursion in virtual_output_callback_func() Signed-off-by: David Sommerseth <dav...@redhat.com> Acked-by: Gert Doering <g...@greenie.muc.de> Message-Id: 1353063726-25113-1-git-send-email-d...@users.sourceforge.net URL: http://article.gmane.org/gmane.network.openvpn.devel/7130 -- kind regards, David Sommerseth
signature.asc
Description: OpenPGP digital signature