diff -r 89678e04a7ac -r 6bd2dd10e5da libpurple/protocols/simple/simple.c --- a/libpurple/protocols/simple/simple.c Thu Jan 09 21:17:31 2014 -0800 +++ b/libpurple/protocols/simple/simple.c Fri Jan 10 17:12:31 2014 +0100 @@ -1640,7 +1640,7 @@ cur += 2; restlen = conn->inbufused - (cur - conn->inbuf); if(restlen >= msg->bodylen) { - dummy = g_malloc(msg->bodylen + 1); + dummy = g_new(char, msg->bodylen + 1); memcpy(dummy, cur, msg->bodylen); dummy[msg->bodylen] = '\0'; msg->body = dummy;