mirror of
https://github.com/darkk/redsocks.git
synced 2025-08-27 20:25:30 +00:00
Another s/strcpy/memcpy/ to fix another OpenBSD warning.
This commit is contained in:
parent
e24b29abf8
commit
2b6dcc83d6
6
socks4.c
6
socks4.c
@ -98,14 +98,16 @@ static struct evbuffer *socks4_mkconnect(redsocks_client *client)
|
|||||||
{
|
{
|
||||||
const redsocks_config *config = &client->instance->config;
|
const redsocks_config *config = &client->instance->config;
|
||||||
const char *username = config->login ? config->login : "";
|
const char *username = config->login ? config->login : "";
|
||||||
int len = sizeof(socks4_req) + strlen(username);
|
// space for \0 comes from socks4_req->login
|
||||||
|
size_t username_len = strlen(username);
|
||||||
|
size_t len = sizeof(socks4_req) + username_len;
|
||||||
socks4_req *req = calloc(1, len);
|
socks4_req *req = calloc(1, len);
|
||||||
|
|
||||||
req->ver = socks4_ver;
|
req->ver = socks4_ver;
|
||||||
req->cmd = socks4_cmd_connect;
|
req->cmd = socks4_cmd_connect;
|
||||||
req->port = client->destaddr.sin_port;
|
req->port = client->destaddr.sin_port;
|
||||||
req->addr = client->destaddr.sin_addr.s_addr;
|
req->addr = client->destaddr.sin_addr.s_addr;
|
||||||
strcpy(req->login, username);
|
memcpy(req->login, username, username_len + 1);
|
||||||
|
|
||||||
struct evbuffer *ret = mkevbuffer(req, len);
|
struct evbuffer *ret = mkevbuffer(req, len);
|
||||||
free(req);
|
free(req);
|
||||||
|
Loading…
Reference in New Issue
Block a user