libpurple/plugins/tcl/tcl_signals.c

changeset 31956
f2b6b7f5631b
parent 31294
73607ab89c6f
child 34695
60a278f1365b
child 35966
d603bfb42fd9
equal deleted inserted replaced
31955:384153346831 31956:f2b6b7f5631b
257 strs[i] = va_arg(args, char **); 257 strs[i] = va_arg(args, char **);
258 if (strs[i] == NULL || *strs[i] == NULL) { 258 if (strs[i] == NULL || *strs[i] == NULL) {
259 vals[i] = ckalloc(1); 259 vals[i] = ckalloc(1);
260 *(char *)vals[i] = '\0'; 260 *(char *)vals[i] = '\0';
261 } else { 261 } else {
262 vals[i] = ckalloc(strlen(*strs[i]) + 1); 262 size_t len = strlen(*strs[i]) + 1;
263 strcpy(vals[i], *strs[i]); 263 vals[i] = ckalloc(len);
264 g_strlcpy(vals[i], *strs[i], len);
264 } 265 }
265 Tcl_LinkVar(handler->interp, name->str, 266 Tcl_LinkVar(handler->interp, name->str,
266 (char *)&vals[i], TCL_LINK_STRING); 267 (char *)&vals[i], TCL_LINK_STRING);
267 arg = Tcl_NewStringObj(name->str, -1); 268 arg = Tcl_NewStringObj(name->str, -1);
268 } else { 269 } else {

mercurial