From 874a35ed102560af561b87a45638317a272c6d1ab24d4d3f432a122f0f6a068b Mon Sep 17 00:00:00 2001 From: OBS User autobuild Date: Tue, 20 Oct 2009 23:44:34 +0000 Subject: [PATCH] Accepting request 22620 from GNOME:Factory Copy from GNOME:Factory/pidgin based on submit request 22620 from user dimstar OBS-URL: https://build.opensuse.org/request/show/22620 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/pidgin?expand=0&rev=45 --- pidgin-bnc548072.patch | 74 ++++++++++++++++++++++++++++++++++++++++++ pidgin.changes | 6 ++++ pidgin.spec | 4 ++- 3 files changed, 83 insertions(+), 1 deletion(-) create mode 100644 pidgin-bnc548072.patch diff --git a/pidgin-bnc548072.patch b/pidgin-bnc548072.patch new file mode 100644 index 0000000..3d5954d --- /dev/null +++ b/pidgin-bnc548072.patch @@ -0,0 +1,74 @@ +# +# +# patch "libpurple/protocols/oscar/oscar.c" +# from [42bbc1a4ff0b9b66e5487d7171b3cba95b6b9bd5] +# to [6325eced5c6845cea48a229ec93c04e881daf2b8] +# +============================================================ +--- libpurple/protocols/oscar/oscar.c 42bbc1a4ff0b9b66e5487d7171b3cba95b6b9bd5 ++++ libpurple/protocols/oscar/oscar.c 6325eced5c6845cea48a229ec93c04e881daf2b8 +@@ -2874,25 +2874,46 @@ incomingim_chan4(OscarData *od, FlapConn + gchar **text; + text = g_strsplit(args->msg, "\376", 0); + if (text) { +- num = 0; +- for (i=0; iuin, text[i*2+2], text[i*2+1]); +- data->gc = gc; +- data->name = g_strdup(text[i*2+1]); +- data->nick = g_strdup(text[i*2+2]); ++ /* Read the number of contacts that we were sent */ ++ errno = 0; ++ num = strtoul(text[0], NULL, 10); + +- purple_request_action(gc, NULL, message, +- _("Do you want to add this buddy " +- "to your buddy list?"), +- PURPLE_DEFAULT_ACTION_NONE, +- purple_connection_get_account(gc), data->name, NULL, +- data, 2, +- _("_Add"), G_CALLBACK(purple_icq_buddyadd), +- _("_Decline"), G_CALLBACK(oscar_free_name_data)); +- g_free(message); ++ if (num > 0 && errno == 0) { ++ for (i=0; imsg, NULL); ++ purple_debug_error("oscar", "Unknown syntax parsing " ++ "ICQ buddies. args->msg=%s\n", tmp); ++ g_free(tmp); ++ break; ++ } ++ ++ message = g_strdup_printf(_("ICQ user %u has sent you a buddy: %s (%s)"), args->uin, text[i*2+2], text[i*2+1]); ++ ++ data = g_new(struct name_data, 1); ++ data->gc = gc; ++ data->name = g_strdup(text[i*2+1]); ++ data->nick = g_strdup(text[i*2+2]); ++ ++ purple_request_action(gc, NULL, message, ++ _("Do you want to add this buddy " ++ "to your buddy list?"), ++ PURPLE_DEFAULT_ACTION_NONE, ++ purple_connection_get_account(gc), data->name, NULL, ++ data, 2, ++ _("_Add"), G_CALLBACK(purple_icq_buddyadd), ++ _("_Decline"), G_CALLBACK(oscar_free_name_data)); ++ g_free(message); ++ } ++ } else { ++ gchar *tmp = g_strescape(args->msg, NULL); ++ purple_debug_error("oscar", "Unknown syntax parsing " ++ "ICQ buddies. args->msg=%s\n", tmp); ++ g_free(tmp); + } + g_strfreev(text); + } diff --git a/pidgin.changes b/pidgin.changes index cf5cfb1..1202d38 100644 --- a/pidgin.changes +++ b/pidgin.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Tue Oct 20 09:36:10 CEST 2009 - dimstar@opensuse.org + +- Add pidgin-bnc548072.patch, fixes crash with oscar (ICQ) protocol + bnc#548072. + ------------------------------------------------------------------- Wed Sep 23 19:48:37 UTC 2009 - aj@suse.de diff --git a/pidgin.spec b/pidgin.spec index 23c8e5a..c6ac1f8 100644 --- a/pidgin.spec +++ b/pidgin.spec @@ -21,7 +21,7 @@ Name: pidgin Summary: GTK+-Based Multiprotocol Instant Messaging Client Version: 2.6.2 -Release: 2 +Release: 3 License: GPL v2 or later Group: Productivity/Networking/Instant Messenger Url: http://www.pidgin.im/ @@ -38,6 +38,8 @@ Patch11: pidgin-directconn-argfix.patch Patch12: pidgin-dbus-invalid-gpointer.patch # PATCH-FIX-OPENSUSE pidgin-browser-default.patch bnc472219 sbrabec@suse.cz - Use xdg-open as default browser. Patch13: pidgin-browser-default.patch +# PATCH-FIX-UPSTREAM pidgin-bnc548072.patch bnc#548072 dimstar@opensuse.org -- Fix a crash on Oscar (icq) protocol. +Patch14: pidgin-bnc548072.patch # Can use external libzephyr BuildRequires: cyrus-sasl-devel BuildRequires: dbus-1-devel