From: <rl...@us...> - 2006-09-30 03:02:08
|
Revision: 17405 http://svn.sourceforge.net/gaim/?rev=17405&view=rev Author: rlaager Date: 2006-09-29 20:02:01 -0700 (Fri, 29 Sep 2006) Log Message: ----------- SF Patch #1568062 from Mike Stoddard "This fixes a crash when processing the contact list during login. In some cases where there was an invalid contact in the list, a NULL string was being passed to g_utf8_strdown causing the segfault." Modified Paths: -------------- trunk/libgaim/protocols/novell/nmuser.c Modified: trunk/libgaim/protocols/novell/nmuser.c =================================================================== --- trunk/libgaim/protocols/novell/nmuser.c 2006-09-30 02:48:29 UTC (rev 17404) +++ trunk/libgaim/protocols/novell/nmuser.c 2006-09-30 03:02:01 UTC (rev 17405) @@ -1137,17 +1137,27 @@ void nm_user_add_user_record(NMUser * user, NMUserRecord * user_record) { + const char *display_id; + const char *dn; + + if (!user || !user_record) + return; + + display_id = nm_user_record_get_display_id(user_record); + dn = nm_user_record_get_dn(user_record); + + if (!dn || !display_id) + return; + nm_user_record_add_ref(user_record); g_hash_table_insert(user->user_records, - g_utf8_strdown(nm_user_record_get_dn(user_record), -1), + g_utf8_strdown(dn, -1), user_record); g_hash_table_insert(user->display_id_to_dn, - g_utf8_strdown(nm_user_record_get_display_id(user_record), - -1), - g_utf8_strdown(nm_user_record_get_dn(user_record), -1)); - + g_utf8_strdown(display_id, -1), + g_utf8_strdown(dn, -1)); } nm_event_cb This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <the...@us...> - 2006-11-07 17:52:29
|
Revision: 17696 http://svn.sourceforge.net/gaim/?rev=17696&view=rev Author: thekingant Date: 2006-11-07 09:52:01 -0800 (Tue, 07 Nov 2006) Log Message: ----------- sf patch #1592081, from Stanislav Brabec "fix of possible crash (access memory after g_slist_remove())" Modified Paths: -------------- trunk/libgaim/protocols/novell/nmuser.c Modified: trunk/libgaim/protocols/novell/nmuser.c =================================================================== --- trunk/libgaim/protocols/novell/nmuser.c 2006-11-07 07:21:27 UTC (rev 17695) +++ trunk/libgaim/protocols/novell/nmuser.c 2006-11-07 17:52:01 UTC (rev 17696) @@ -1526,9 +1526,9 @@ for (node = list; node; node = node->next) { if (nm_utf8_str_equal(nm_user_record_get_dn(user_record), (const char *) node->data)) { + g_free(node->data); list = g_slist_remove(list, node->data); nm_request_set_user_define(request, list); - g_free(node->data); break; } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |