diff -r 039186f7fc5b -r 7d8e1af031fe libpurple/stringref.c --- a/libpurple/stringref.c Wed Aug 17 22:00:37 2011 +0000 +++ b/libpurple/stringref.c Wed Aug 17 23:54:59 2011 +0000 @@ -65,12 +65,15 @@ PurpleStringref *purple_stringref_new(const char *value) { PurpleStringref *newref; + size_t len; if (value == NULL) return NULL; - newref = g_malloc(sizeof(PurpleStringref) + strlen(value)); - strcpy(newref->value, value); + len = strlen(value); + + newref = g_malloc(sizeof(PurpleStringref) + len); + g_strlcpy(newref->value, value, len); newref->ref = 1; return newref;