The branch, master has been updated via 833a2f4 lib: tevent: Fix memory leak reported by Pavel Březina <pbrez...@redhat.com> when old signal action restored. from 03081c2 Real memeory leak(buildup) issue in loadparm.
https://git.samba.org/?p=samba.git;a=shortlog;h=master - Log ----------------------------------------------------------------- commit 833a2f474367624dd9980abb28227850e95fe976 Author: Jeremy Allison <j...@samba.org> Date: Tue Feb 16 14:23:53 2016 -0800 lib: tevent: Fix memory leak reported by Pavel Březina <pbrez...@redhat.com> when old signal action restored. BUG: https://bugzilla.samba.org/show_bug.cgi?id=11742 Signed-off-by: Jeremy Allison <j...@samba.org> Reviewed-by: Andreas Schneider <a...@samba.org> Autobuild-User(master): Andreas Schneider <a...@cryptomilk.org> Autobuild-Date(master): Thu Feb 18 01:42:50 CET 2016 on sn-devel-144 ----------------------------------------------------------------------- Summary of changes: lib/tevent/tevent_signal.c | 4 ++++ 1 file changed, 4 insertions(+) Changeset truncated at 500 lines: diff --git a/lib/tevent/tevent_signal.c b/lib/tevent/tevent_signal.c index 924dc05..9bc11ed 100644 --- a/lib/tevent/tevent_signal.c +++ b/lib/tevent/tevent_signal.c @@ -212,6 +212,7 @@ static int tevent_signal_destructor(struct tevent_signal *se) /* restore old handler, if any */ if (sig_state->oldact[se->signum]) { sigaction(se->signum, sig_state->oldact[se->signum], NULL); + talloc_free(sig_state->oldact[se->signum]); sig_state->oldact[se->signum] = NULL; } #ifdef SA_SIGINFO @@ -342,6 +343,8 @@ struct tevent_signal *tevent_common_add_signal(struct tevent_context *ev, return NULL; } if (sigaction(signum, &act, sig_state->oldact[signum]) == -1) { + talloc_free(sig_state->oldact[signum]); + sig_state->oldact[signum] = NULL; talloc_free(se); return NULL; } @@ -505,6 +508,7 @@ void tevent_cleanup_pending_signal_handlers(struct tevent_signal *se) if (sig_state->sig_handlers[se->signum] == NULL) { if (sig_state->oldact[se->signum]) { sigaction(se->signum, sig_state->oldact[se->signum], NULL); + talloc_free(sig_state->oldact[se->signum]); sig_state->oldact[se->signum] = NULL; } } -- Samba Shared Repository