[Pidgin] #3281: msimppl leaks memory in statstring, username, key_context, storing user info, user, MsimMessage dictionary parsing

Pidgin trac at pidgin.im
Tue Sep 25 22:45:15 EDT 2007


#3281: msimppl leaks memory in statstring, username, key_context, storing user
info, user, MsimMessage dictionary parsing
----------------------+-----------------------------------------------------
  Reporter:  jeff     |       Owner:  jeff    
      Type:  defect   |      Status:  new     
  Priority:  major    |   Milestone:  2.2.1   
 Component:  MySpace  |     Version:  2.2.0   
Resolution:           |    Keywords:  msimprpl
   Pending:  0        |  
----------------------+-----------------------------------------------------
Comment (by oliver):

 And another one:

 106 bytes in 13 blocks are definitely lost in loss record 588 of 1,585
    at 0x4021765: malloc (vg_replace_malloc.c:149)
    by 0x41212C5: g_malloc (in /usr/lib/libglib-2.0.so.0.1200.11)
    by 0x4134878: g_strdup (in /usr/lib/libglib-2.0.so.0.1200.11)
    by 0x4AA094A: msim_msg_get_string_from_element (message.c:1107)
    by 0x4AA09E1: msim_msg_get_string (message.c:1089)
    by 0x4AA42A6: msim_incoming_bm (myspace.c:623)
    by 0x4AA4B62: msim_process (myspace.c:1642)
    by 0x4AA622C: msim_incoming_resolved (myspace.c:1163)
    by 0x4AA554D: msim_process (myspace.c:1746)
    by 0x4AA5F8A: msim_input_cb (myspace.c:1258)
    by 0x8058126: purple_glib_io_invoke (libpurpleinit.c:53)
    by 0x414340C: (within /usr/lib/libglib-2.0.so.0.1200.11)


 this is similar to one we had before. you added the g_free(username) at
 the end of the function but username also needs to be free'd when exiting
 at line 629.

 while looking at this guy i also found another (potential) problem.
 you should probably free the GString* before returning from
 msim_unescape. change message.c:123 to return g_string_free( gs, FALSE );

-- 
Ticket URL: <http://developer.pidgin.im/ticket/3281#comment:6>
Pidgin <http://pidgin.im>
Pidgin


More information about the Tracker mailing list