From f305eed01f5c183ab8c3bb83ea631128cf480be8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Helleu?= Date: Sun, 8 Jan 2023 17:38:37 +0100 Subject: [PATCH] typing: fix crash when pointer buffer is not received in callback for signal "input_text_changed" (closes #1869) --- ChangeLog.adoc | 4 ++++ src/plugins/typing/typing.c | 7 ++++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/ChangeLog.adoc b/ChangeLog.adoc index ca7478741..b921a545c 100644 --- a/ChangeLog.adoc +++ b/ChangeLog.adoc @@ -18,6 +18,10 @@ https://weechat.org/files/releasenotes/ReleaseNotes-devel.html[release notes] [[v3.9]] == Version 3.9 (under dev) +Bug fixes:: + + * typing: fix crash when pointer buffer is not received in callback for signal "input_text_changed" (issue #1869) + Build:: * core: remove build with autotools (issue #1860) diff --git a/src/plugins/typing/typing.c b/src/plugins/typing/typing.c index f7d2edd4e..ff8ece005 100644 --- a/src/plugins/typing/typing.c +++ b/src/plugins/typing/typing.c @@ -94,7 +94,7 @@ typing_buffer_closing_signal_cb (const void *pointer, void *data, } /* - * Callback for signal "buffer_closing". + * Callback for signal "input_text_changed". */ int @@ -113,7 +113,12 @@ typing_input_text_changed_signal_cb (const void *pointer, void *data, (void) signal; (void) type_data; + if (strcmp (type_data, WEECHAT_HOOK_SIGNAL_POINTER) != 0) + return WEECHAT_RC_OK; + ptr_buffer = (struct t_gui_buffer *)signal_data; + if (!ptr_buffer) + return WEECHAT_RC_OK; /* ignore any change in input if the user is searching text in the buffer */ text_search = weechat_buffer_get_integer (ptr_buffer, "text_search");