summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source3/libsmb/pylibsmb.c21
1 files changed, 12 insertions, 9 deletions
diff --git a/source3/libsmb/pylibsmb.c b/source3/libsmb/pylibsmb.c
index d8e64b3568..611d07abae 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);