From 57990cbcbbdf83d7b9997ac1fd33528c63c96226 Mon Sep 17 00:00:00 2001 From: Christian Ambach Date: Sun, 16 Sep 2012 00:15:21 +0200 Subject: [PATCH] s3:libsmb fix a potential crash Signed-off-by: Volker Lendecke Autobuild-User(master): Christian Ambach Autobuild-Date(master): Sun Sep 16 22:31:38 CEST 2012 on sn-devel-104 --- source3/libsmb/pylibsmb.c | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/source3/libsmb/pylibsmb.c b/source3/libsmb/pylibsmb.c index d8e64b35682c..611d07abae27 100644 --- a/source3/libsmb/pylibsmb.c +++ b/source3/libsmb/pylibsmb.c @@ -166,7 +166,7 @@ static int py_cli_thread_destructor(struct py_cli_thread *t) static bool py_cli_state_setup_ev(struct py_cli_state *self) { - struct py_cli_thread *t; + struct py_cli_thread *t = NULL; int ret; self->ev = tevent_context_init_byname(NULL, "poll_mt"); @@ -202,15 +202,18 @@ static bool py_cli_state_setup_ev(struct py_cli_state *self) return true; fail: - TALLOC_FREE(t->shutdown_fde); + if (t != NULL) { + TALLOC_FREE(t->shutdown_fde); - if (t->shutdown_pipe[0] != -1) { - close(t->shutdown_pipe[0]); - t->shutdown_pipe[0] = -1; - } - if (t->shutdown_pipe[1] != -1) { - close(t->shutdown_pipe[1]); - t->shutdown_pipe[1] = -1; + if (t->shutdown_pipe[0] != -1) { + close(t->shutdown_pipe[0]); + t->shutdown_pipe[0] = -1; + } + if (t->shutdown_pipe[1] != -1) { + close(t->shutdown_pipe[1]); + t->shutdown_pipe[1] = -1; + } + TALLOC_FREE(t); } TALLOC_FREE(self->thread_state); -- 2.34.1