curlx: curlx_strcopy() instead of strcpy()

This function REQUIRES the size of the target buffer as well as the
length of the source string. Meant to make it harder to do a bad
strcpy().

Removes 23 calls to strcpy().

Closes #20067
This commit is contained in:
Daniel Stenberg 2025-12-21 23:40:24 +01:00
parent f099c2ca55
commit a535be4ea0
No known key found for this signature in database
GPG key ID: 5CC908FDB71E12C2
30 changed files with 195 additions and 97 deletions

View file

@ -108,9 +108,7 @@ static void memory_tracking_init(void)
if(env) {
/* use the value as filename */
char fname[512];
if(strlen(env) >= sizeof(fname))
env[sizeof(fname) - 1] = '\0';
strcpy(fname, env);
curlx_strcopy(fname, sizeof(fname), env, strlen(env));
curl_free(env);
curl_dbg_memdebug(fname);
/* this weird stuff here is to make curl_free() get called before