CLEANUP: tree-wide: remove strpcy() from constant strings

These ones are genenerally harmless on modern compilers because the
compiler checks them. While gcc optimizes them away without even
referencing strcpy(), clang prefers to call strcpy(). Nevertheless they
prevent from enabling stricter checks so better remove them altogether.
They were all replaced by strlcpy2() and the size of the destination
which is always known there.
This commit is contained in:
Willy Tarreau 2023-04-07 18:11:39 +02:00
parent 6d4c0c2ca2
commit fc458ec8aa
5 changed files with 7 additions and 7 deletions

View File

@ -415,7 +415,7 @@ char *timeofday_as_iso_us(int pad)
get_localtime(new_date.tv_sec, &tm);
offset = get_gmt_offset(new_date.tv_sec, &tm);
if (unlikely(strftime(iso_time_str, sizeof(iso_time_str), "%Y-%m-%dT%H:%M:%S.000000+00:00", &tm) != 32))
strcpy(iso_time_str, "YYYY-mm-ddTHH:MM:SS.000000-00:00"); // make the failure visible but respect format.
strlcpy2(iso_time_str, "YYYY-mm-ddTHH:MM:SS.000000-00:00", sizeof(iso_time_str)); // make the failure visible but respect format.
iso_time_str[26] = offset[0];
iso_time_str[27] = offset[1];
iso_time_str[28] = offset[2];

View File

@ -78,7 +78,7 @@ int frontend_accept(struct stream *s)
addr_to_str(dst, sn, sizeof(sn));
port = get_host_port(dst);
} else {
strcpy(sn, "undetermined address");
strlcpy2(sn, "undetermined address", sizeof(sn));
port = 0;
}
send_log(fe, LOG_INFO, "Connect from %s:%d to %s:%d (%s/%s)\n",

View File

@ -709,7 +709,7 @@ int tcp_bind_listener(struct listener *listener, char *errmsg, int errlen)
if (listener->bind_conf->options & BC_O_DEF_ACCEPT) {
struct accept_filter_arg accept;
memset(&accept, 0, sizeof(accept));
strcpy(accept.af_name, "dataready");
strlcpy2(accept.af_name, sizeof(accept.af_name), "dataready");
if (setsockopt(fd, SOL_SOCKET, SO_ACCEPTFILTER, &accept, sizeof(accept)) == -1) {
chunk_appendf(msg, "%scannot enable ACCEPT_FILTER", msg->data ? ", " : "");
err |= ERR_WARN;

View File

@ -3182,7 +3182,7 @@ int srv_update_addr(struct server *s, void *ip, int ip_sin_family, const char *u
inet_ntop(s->addr.ss_family, &((struct sockaddr_in6 *)&s->addr)->sin6_addr, oldip, INET6_ADDRSTRLEN);
break;
default:
strcpy(oldip, "(none)");
strlcpy2(oldip, "(none)", sizeof(oldip));
break;
};

View File

@ -2994,7 +2994,7 @@ static void stats_dump_html_px_hdr(struct stconn *sc, struct proxy *px)
if (ctx->scope_len) {
const char *scope_ptr = stats_scope_ptr(appctx, sc);
strcpy(scope_txt, STAT_SCOPE_PATTERN);
strlcpy2(scope_txt, STAT_SCOPE_PATTERN, sizeof(scope_txt));
memcpy(scope_txt + strlen(STAT_SCOPE_PATTERN), scope_ptr, ctx->scope_len);
scope_txt[strlen(STAT_SCOPE_PATTERN) + ctx->scope_len] = 0;
}
@ -3645,7 +3645,7 @@ static void stats_dump_html_info(struct stconn *sc, struct uri_auth *uri)
/* scope_txt = search pattern + search query, ctx->scope_len is always <= STAT_SCOPE_TXT_MAXLEN */
scope_txt[0] = 0;
if (ctx->scope_len) {
strcpy(scope_txt, STAT_SCOPE_PATTERN);
strlcpy2(scope_txt, STAT_SCOPE_PATTERN, sizeof(scope_txt));
memcpy(scope_txt + strlen(STAT_SCOPE_PATTERN), scope_ptr, ctx->scope_len);
scope_txt[strlen(STAT_SCOPE_PATTERN) + ctx->scope_len] = 0;
}
@ -4395,7 +4395,7 @@ static int stats_send_http_redirect(struct stconn *sc, struct htx *htx)
if (ctx->scope_len) {
const char *scope_ptr = stats_scope_ptr(appctx, sc);
strcpy(scope_txt, STAT_SCOPE_PATTERN);
strlcpy2(scope_txt, STAT_SCOPE_PATTERN, sizeof(scope_txt));
memcpy(scope_txt + strlen(STAT_SCOPE_PATTERN), scope_ptr, ctx->scope_len);
scope_txt[strlen(STAT_SCOPE_PATTERN) + ctx->scope_len] = 0;
}