const char *u = client->username ? client->username : "*";
const char *h = client->hostname;
delete[] client->nuh;
- client->nuh = new char[strlen(n) + strlen(u) + strlen(h) + 3];
- sprintf(client->nuh, "%s!%s@%s", n, u, h);
+ size_t len = strlen(n) + strlen(u) + strlen(h) + 3;
+ client->nuh = new char[len];
+ snprintf(client->nuh, len, "%s!%s@%s", n, u, h);
stringlower(client->nuh);
}
static bool is_nick_valid(std::string_view nickname) {
#pragma GCC poison calloc
#pragma GCC poison realloc
#pragma GCC poison free
+#pragma GCC poison sprintf
#endif
#define strcpy_lit(a, b) memcpy((a), (b), sizeof(b))
char *mystrdup(const char *s);