Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix warning: 'tcp_handle_outgoing' accessing 16 bytes in a region of 4 #688

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions src/dnsredir.c
Original file line number Diff line number Diff line change
Expand Up @@ -197,8 +197,8 @@ int dns_is_dns_packet(const char *packet_data, const UINT packet_dataLen, const
return FALSE;
}

int dns_handle_outgoing(const uint32_t srcip[4], const uint16_t srcport,
const uint32_t dstip[4], const uint16_t dstport,
int dns_handle_outgoing(const uint32_t* srcip, const uint16_t srcport,
const uint32_t* dstip, const uint16_t dstport,
const char *packet_data, const UINT packet_dataLen,
const uint8_t is_ipv6)
{
Expand All @@ -216,7 +216,7 @@ int dns_handle_outgoing(const uint32_t srcip[4], const uint16_t srcport,
return FALSE;
}

int dns_handle_incoming(const uint32_t srcip[4], const uint16_t srcport,
int dns_handle_incoming(const uint32_t* srcip, const uint16_t srcport,
const char *packet_data, const UINT packet_dataLen,
conntrack_info_t *conn_info, const uint8_t is_ipv6)
{
Expand Down
6 changes: 3 additions & 3 deletions src/dnsredir.h
Original file line number Diff line number Diff line change
Expand Up @@ -24,12 +24,12 @@ inline static void ipv6_copy_addr(uint32_t dst[4], const uint32_t src[4]) {
dst[3] = src[3];
}

int dns_handle_incoming(const uint32_t srcip[4], const uint16_t srcport,
int dns_handle_incoming(const uint32_t* srcip, const uint16_t srcport,
const char *packet_data, const UINT packet_dataLen,
conntrack_info_t *conn_info, const uint8_t is_ipv6);

int dns_handle_outgoing(const uint32_t srcip[4], const uint16_t srcport,
const uint32_t dstip[4], const uint16_t dstport,
int dns_handle_outgoing(const uint32_t* srcip, const uint16_t srcport,
const uint32_t* dstip, const uint16_t dstport,
const char *packet_data, const UINT packet_dataLen,
const uint8_t is_ipv6
);
Expand Down
8 changes: 4 additions & 4 deletions src/goodbyedpi.c
Original file line number Diff line number Diff line change
Expand Up @@ -1152,7 +1152,7 @@ int main(int argc, char *argv[]) {
filter_num++;
}

/*
/*
* IPv4 & IPv6 filter for inbound HTTP redirection packets and
* active DPI circumvention
*/
Expand Down Expand Up @@ -1294,7 +1294,7 @@ int main(int argc, char *argv[]) {
}
}
/* Handle OUTBOUND packet on port 80, search for Host header */
else if (addr.Outbound &&
else if (addr.Outbound &&
packet_dataLen > 16 &&
(do_http_allports ? 1 : (ppTcpHdr->DstPort == htons(80))) &&
find_http_method_end(packet_data,
Expand Down Expand Up @@ -1455,8 +1455,8 @@ int main(int argc, char *argv[]) {
ppTcpHdr->SrcPort, ppTcpHdr->DstPort,
0, ppIpHdr->TTL))
||
(packet_v6 && tcp_handle_incoming((uint32_t*)&ppIpV6Hdr->SrcAddr,
(uint32_t*)&ppIpV6Hdr->DstAddr,
(packet_v6 && tcp_handle_incoming(ppIpV6Hdr->SrcAddr,
ppIpV6Hdr->DstAddr,
ppTcpHdr->SrcPort, ppTcpHdr->DstPort,
1, ppIpV6Hdr->HopLimit))))
{
Expand Down
12 changes: 6 additions & 6 deletions src/ttltrack.c
Original file line number Diff line number Diff line change
Expand Up @@ -39,8 +39,8 @@ typedef struct tcp_connrecord {
static time_t last_cleanup = 0;
static tcp_connrecord_t *conntrack = NULL;

inline static void fill_key_data(char *key, const uint8_t is_ipv6, const uint32_t srcip[4],
const uint32_t dstip[4], const uint16_t srcport, const uint16_t dstport)
inline static void fill_key_data(char *key, const uint8_t is_ipv6, const uint32_t* srcip,
const uint32_t* dstip, const uint16_t srcport, const uint16_t dstport)
{
unsigned int offset = 0;

Expand Down Expand Up @@ -94,7 +94,7 @@ inline static void fill_data_from_key(uint8_t *is_ipv6, uint32_t srcip[4], uint3
offset += sizeof(*dstport);
}

inline static void construct_key(const uint32_t srcip[4], const uint32_t dstip[4],
inline static void construct_key(const uint32_t* srcip, const uint32_t* dstip,
const uint16_t srcport, const uint16_t dstport,
char *key, const uint8_t is_ipv6)
{
Expand Down Expand Up @@ -137,7 +137,7 @@ static int check_get_tcp_conntrack_key(const char *key, tcp_connrecord_t **connr
return FALSE;
}

static int add_tcp_conntrack(const uint32_t srcip[4], const uint32_t dstip[4],
static int add_tcp_conntrack(const uint32_t* srcip, const uint32_t* dstip,
const uint16_t srcport, const uint16_t dstport,
const uint8_t is_ipv6, const uint8_t ttl
)
Expand Down Expand Up @@ -180,7 +180,7 @@ static void tcp_cleanup() {
}
}

int tcp_handle_incoming(uint32_t srcip[4], uint32_t dstip[4],
int tcp_handle_incoming(const uint32_t* srcip, const uint32_t* dstip,
uint16_t srcport, uint16_t dstport,
uint8_t is_ipv6, uint8_t ttl)
{
Expand All @@ -193,7 +193,7 @@ int tcp_handle_incoming(uint32_t srcip[4], uint32_t dstip[4],
return FALSE;
}

int tcp_handle_outgoing(uint32_t srcip[4], uint32_t dstip[4],
int tcp_handle_outgoing(const uint32_t* srcip, const uint32_t* dstip,
uint16_t srcport, uint16_t dstport,
tcp_conntrack_info_t *conn_info,
uint8_t is_ipv6)
Expand Down
4 changes: 2 additions & 2 deletions src/ttltrack.h
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,11 @@ typedef struct tcp_conntrack_info {
uint16_t dstport;
} tcp_conntrack_info_t;

int tcp_handle_incoming(uint32_t srcip[4], uint32_t dstip[4],
int tcp_handle_incoming(const uint32_t* srcip, const uint32_t* dstip,
uint16_t srcport, uint16_t dstport,
uint8_t is_ipv6, uint8_t ttl);

int tcp_handle_outgoing(uint32_t srcip[4], uint32_t dstip[4],
int tcp_handle_outgoing(const uint32_t* srcip, const uint32_t* dstip,
uint16_t srcport, uint16_t dstport,
tcp_conntrack_info_t *conn_info,
uint8_t is_ipv6);
Expand Down