# HG changeset patch # User Ethan Blanton # Date 1313625299 0 # Node ID b24babbae1578782dd8f0a768981bbf53cb70261 # Parent 49d6ee09c74d3e86cf5ed0522aef221ccae42d3d Bounds-check stringref copies (which are safe anyway) diff -r 49d6ee09c74d -r b24babbae157 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;