summaryrefslogtreecommitdiff
path: root/kernel/network
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/network')
-rw-r--r--kernel/network/tcp.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/kernel/network/tcp.c b/kernel/network/tcp.c
index b929005..dd6e6a8 100644
--- a/kernel/network/tcp.c
+++ b/kernel/network/tcp.c
@@ -162,12 +162,11 @@ void send_tcp_packet(struct TcpConnection *con, const u8 *payload,
void handle_tcp(ipv4_t src_ip, const u8 *payload, u32 payload_length) {
const struct TCP_HEADER *header = (const struct TCP_HEADER *)payload;
(void)header;
- u16 n_src_port = *(u16 *)(payload);
- u16 n_dst_port = *(u16 *)(payload + 2);
- u32 n_seq_num = *(u32 *)(payload + 4);
- u32 n_ack_num = *(u32 *)(payload + 8);
+ u16 n_src_port = header->src_port;
+ u16 n_dst_port = header->dst_port;
+ u32 n_seq_num = header->seq_num;
+ u32 n_ack_num = header->ack_num;
- // u8 flags = *(payload + 13);
u8 flags = header->flags;
u16 src_port = htons(n_src_port);