From 83e46e04eeb9fbb43ba7353e221bdc0d864ec414 Mon Sep 17 00:00:00 2001 From: zhangyaqi Date: Fri, 18 Oct 2024 03:54:01 +0800 Subject: [PATCH] Fix leak in evconnlistener_new_async() --- ...Fix-leak-in-evconnlistener_new_async.patch | 28 +++++++++++++++++++ libevent.spec | 6 +++- 2 files changed, 33 insertions(+), 1 deletion(-) create mode 100644 backport-Fix-leak-in-evconnlistener_new_async.patch diff --git a/backport-Fix-leak-in-evconnlistener_new_async.patch b/backport-Fix-leak-in-evconnlistener_new_async.patch new file mode 100644 index 0000000..7c977ca --- /dev/null +++ b/backport-Fix-leak-in-evconnlistener_new_async.patch @@ -0,0 +1,28 @@ +From f9939490ebdba403462b6839d29fdc6837d8a0ec Mon Sep 17 00:00:00 2001 +From: Azat Khuzhin +Date: Sun, 18 Feb 2024 21:19:41 +0100 +Subject: [PATCH] Fix leak in evconnlistener_new_async() + +Fixes: https://github.com/libevent/libevent/issues/414 +--- + listener.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/listener.c b/listener.c +index f5c00c9..24e1648 100644 +--- a/listener.c ++++ b/listener.c +@@ -885,6 +885,10 @@ evconnlistener_new_async(struct event_base *base, + return &lev->base; + + err_free_accepting: ++ for (i = 0; i < lev->n_accepting; ++i) { ++ if (lev->accepting[i]) ++ free_and_unlock_accepting_socket(lev->accepting[i]); ++ } + mm_free(lev->accepting); + /* XXXX free the other elements. */ + err_delete_lock: +-- +2.27.0 + diff --git a/libevent.spec b/libevent.spec index b48b062..19fa82a 100644 --- a/libevent.spec +++ b/libevent.spec @@ -1,6 +1,6 @@ Name: libevent Version: 2.1.12 -Release: 14 +Release: 15 Summary: An event notification library License: BSD @@ -29,6 +29,7 @@ Patch6006: backport-Fix-potential-Null-pointer-dereference-in-regress_fi.patch Patch6007: backport-Fix-potential-Null-pointer-dereference-in-regress_thread.c.patch Patch6008: backport-Fix-potential-Null-pointer-dereference-in-regress_buffer.c.patch Patch6009: backport-Fix-potential-Null-pointer-dereference-in-regress_et.c.patch +Patch6010: backport-Fix-leak-in-evconnlistener_new_async.patch Patch0004: 0004-fix-function-undeclared.patch @@ -91,6 +92,9 @@ rm -f %{buildroot}%{_libdir}/*.la %changelog +* Sun Oct 27 2024 zhangyaqi - 2.1.12-15 +- Fix leak in evconnlistener_new_async() + * Fri Aug 30 2024 yuanchao <1050706328@qq.com> - 2.1.12-14 - Fix function undeclared,incompatible pointer and parameter lack in 'add-testcases-for-event.c-apis.patch',support clang build -- Gitee