summaryrefslogtreecommitdiff
path: root/libnet/src
diff options
context:
space:
mode:
Diffstat (limited to 'libnet/src')
-rw-r--r--libnet/src/libnet_checksum.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/libnet/src/libnet_checksum.c b/libnet/src/libnet_checksum.c
index 07799ad..098b1f3 100644
--- a/libnet/src/libnet_checksum.c
+++ b/libnet/src/libnet_checksum.c
@@ -189,7 +189,6 @@ libnet_inet_checksum(libnet_t *l, uint8_t *iphdr, int protocol, int h_len, const
struct libnet_ipv6_hdr *ip6h_p = NULL; /* default to not using IPv6 */
int ip_hl = 0;
int sum = 0;
- int is_ipv6 = 0; /* TODO - remove this, it is redundant with ip6h_p */
/* Check for memory under/over reads/writes. */
if(iphdr < beg || (iphdr+sizeof(*iph_p)) > end)
@@ -267,7 +266,7 @@ libnet_inet_checksum(libnet_t *l, uint8_t *iphdr, int protocol, int h_len, const
* + the TCP header (with checksum set to zero) and data
*/
tcph_p->th_sum = 0;
- if (is_ipv6)
+ if (ip6h_p)
{
sum = libnet_in_cksum((uint16_t *)&ip6h_p->ip_src, 32);
}
@@ -298,7 +297,7 @@ libnet_inet_checksum(libnet_t *l, uint8_t *iphdr, int protocol, int h_len, const
CHECK_IP_PAYLOAD_SIZE();
udph_p->uh_sum = 0;
- if (is_ipv6)
+ if (ip6h_p)
{
sum = libnet_in_cksum((uint16_t *)&ip6h_p->ip_src, 32);
}
@@ -324,7 +323,7 @@ libnet_inet_checksum(libnet_t *l, uint8_t *iphdr, int protocol, int h_len, const
/* Hm, is this valid? Is the checksum algorithm for ICMPv6 encapsulated in IPv4
* actually defined?
*/
- if (is_ipv6)
+ if (ip6h_p)
{
sum = libnet_in_cksum((uint16_t *)&ip6h_p->ip_src, 32);
sum += ntohs(IPPROTO_ICMP6 + h_len);
@@ -343,7 +342,7 @@ libnet_inet_checksum(libnet_t *l, uint8_t *iphdr, int protocol, int h_len, const
CHECK_IP_PAYLOAD_SIZE();
icmph_p->icmp_sum = 0;
- if (is_ipv6)
+ if (ip6h_p)
{
sum = libnet_in_cksum((uint16_t *)&ip6h_p->ip_src, 32);
sum += ntohs(IPPROTO_ICMP6 + h_len);