diff -r 384153346831 -r f2b6b7f5631b libpurple/plugins/tcl/tcl_signals.c --- a/libpurple/plugins/tcl/tcl_signals.c Sun Jul 17 17:17:19 2011 +0000 +++ b/libpurple/plugins/tcl/tcl_signals.c Sun Jul 17 17:34:55 2011 +0000 @@ -259,8 +259,9 @@ vals[i] = ckalloc(1); *(char *)vals[i] = '\0'; } else { - vals[i] = ckalloc(strlen(*strs[i]) + 1); - strcpy(vals[i], *strs[i]); + size_t len = strlen(*strs[i]) + 1; + vals[i] = ckalloc(len); + g_strlcpy(vals[i], *strs[i], len); } Tcl_LinkVar(handler->interp, name->str, (char *)&vals[i], TCL_LINK_STRING);