aboutsummaryrefslogtreecommitdiff
path: root/src/pkt.c
diff options
context:
space:
mode:
authorToni Uhlig <matzeton@googlemail.com>2017-12-20 10:41:25 +0100
committerToni Uhlig <matzeton@googlemail.com>2017-12-20 10:41:25 +0100
commitd76db8ec11a0cc6b95e9758cc912efbfdba175da (patch)
treea16692e856bf323d223079882b1fbf3c248b2c1b /src/pkt.c
parentdbfa491594e0c84079bebc991107e1b51a228433 (diff)
ptunnel-ng:
* do not break strict aliasing
Diffstat (limited to 'src/pkt.c')
-rw-r--r--src/pkt.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/pkt.c b/src/pkt.c
index 9bd8777..725a14c 100644
--- a/src/pkt.c
+++ b/src/pkt.c
@@ -25,6 +25,7 @@ void handle_packet(char *buf, unsigned bytes, int is_pcap, struct sockaddr_in *a
uint32_t type_flag, pkt_flag, init_state, proxy_flag;
challenge_t *challenge;
struct timeval tt;
+ struct in_addr in_addr;
proxy_flag = kProxy_flag;
@@ -102,8 +103,9 @@ void handle_packet(char *buf, unsigned bytes, int is_pcap, struct sockaddr_in *a
pt_log(kLog_verbose, "Dropping request: ID was recently in use.\n");
return;
}
+ in_addr.s_addr = pt_pkt->dst_ip;
pt_log(kLog_info, "Starting new session to %s:%d with ID %d\n",
- inet_ntoa(*(struct in_addr *)&pt_pkt->dst_ip),
+ inet_ntoa(in_addr),
ntohl(pt_pkt->dst_port), pt_pkt->id_no);
if ((opts.given_dst_ip && opts.given_dst_ip != pt_pkt->dst_ip) ||
((uint32_t)-1 != opts.given_dst_port && opts.given_dst_port != ntohl(pt_pkt->dst_port)))