diff --git a/source3/smbd/server.c b/source3/smbd/server.c index 5f6783e05c1..075e44d3198 100644 --- a/source3/smbd/server.c +++ b/source3/smbd/server.c @@ -367,7 +367,11 @@ static void smbd_accept_connection(struct tevent_context *ev, descriptors */ close_low_fds(False); - TALLOC_FREE(s->parent); + /* + * Can't use TALLOC_FREE here. Nulling out the argument to it + * would overwrite memory we've just freed. + */ + talloc_free(s->parent); s = NULL; if (!reinit_after_fork(