[Pidgin] #10261: crash when adding account without @ in jabber
Pidgin
trac at pidgin.im
Wed Sep 9 18:34:52 EDT 2009
#10261: crash when adding account without @ in jabber
--------------------+-------------------------------------------------------
Reporter: ekse | Owner:
Type: defect | Status: new
Milestone: | Component: libpurple
Version: 2.6.2 | Resolution:
Keywords: crash |
--------------------+-------------------------------------------------------
Description changed by deryni:
Old description:
> Steps to reproduce:
> 1- Contacts \ Add Contact
> 2- in "Username", type contact
> 3- press enter. pidgin crashes
>
> Here is the relevant stacktrace from WinDBG:
> 0022e658 6861e907 msvcrt!strlen+0x20
> 0022e678 68616094 libglib_2_0_0!g_win32_locale_filename_from_utf8+0x1d37
> 0022e698 68602f36 libglib_2_0_0!g_vasprintf+0x24
> 0022e6b8 68602f58 libglib_2_0_0!g_strdup_vprintf+0x26
> 0022e6c8 018ac5ca libglib_2_0_0!g_strdup_printf+0x18
> 0022e6e8 018c941b libjabber!jabber_chat_find+0x4a
> 0022e728 67cc4a81 libjabber!jabber_roster_add_buddy+0x5b
> 0022e748 64a514f5 libpurple!purple_account_add_buddy+0xa1
> 0022e788 63a43955
> pidgin_64a40000!pidgin_blist_update_refresh_timeout+0x1025
>
> The trace is pointing in the purple_account_add_buddy() method which is
> calling libjabber and is crashing is strlen.
>
> I saw in Ollydbg the string "%s@%s" on the stack frame of strlen. My
> guess is that since pidgin is looking in memory until it finds an @ and
> since it is not in the string it results in a memory read violation.
>
> libpurple should make sure there is a @ character prior to trying adding
> a username.
New description:
Steps to reproduce:
1. Contacts -> Add Contact
1. in "Username", type contact
1. press enter. pidgin crashes
{{{
Here is the relevant stacktrace from WinDBG:
0022e658 6861e907 msvcrt!strlen+0x20
0022e678 68616094 libglib_2_0_0!g_win32_locale_filename_from_utf8+0x1d37
0022e698 68602f36 libglib_2_0_0!g_vasprintf+0x24
0022e6b8 68602f58 libglib_2_0_0!g_strdup_vprintf+0x26
0022e6c8 018ac5ca libglib_2_0_0!g_strdup_printf+0x18
0022e6e8 018c941b libjabber!jabber_chat_find+0x4a
0022e728 67cc4a81 libjabber!jabber_roster_add_buddy+0x5b
0022e748 64a514f5 libpurple!purple_account_add_buddy+0xa1
0022e788 63a43955
pidgin_64a40000!pidgin_blist_update_refresh_timeout+0x1025
}}}
The trace is pointing in the purple_account_add_buddy() method which is
calling libjabber and is crashing is strlen.
I saw in Ollydbg the string "%s@%s" on the stack frame of strlen. My guess
is that since pidgin is looking in memory until it finds an @ and since it
is not in the string it results in a memory read violation.
libpurple should make sure there is a @ character prior to trying adding a
username.
--
--
Ticket URL: <http://developer.pidgin.im/ticket/10261#comment:1>
Pidgin <http://pidgin.im>
Pidgin
More information about the Tracker
mailing list