ping[6]: don't do htons(a++), it can be a macro
authorDenis Vlasenko <vda.linux@googlemail.com>
Wed, 3 Jan 2007 22:14:18 +0000 (22:14 -0000)
committerDenis Vlasenko <vda.linux@googlemail.com>
Wed, 3 Jan 2007 22:14:18 +0000 (22:14 -0000)
networking/ping.c
networking/ping6.c

index acbb8ec6f2d37a817b28fdae8cea459f3f271ed9..8b49df1bd29fc3438b32fe7c463153ec03fd341f 100644 (file)
@@ -218,9 +218,10 @@ static void sendping(int junk)
        pkt->icmp_type = ICMP_ECHO;
        pkt->icmp_code = 0;
        pkt->icmp_cksum = 0;
-       pkt->icmp_seq = htons(ntransmitted++);
+       pkt->icmp_seq = htons(ntransmitted); /* don't ++ here, it can be a macro */
        pkt->icmp_id = myid;
        CLR(ntohs(pkt->icmp_seq) % MAX_DUP_CHK);
+       ntransmitted++;
 
        gettimeofday((struct timeval *) &pkt->icmp_dun, NULL);
        pkt->icmp_cksum = in_cksum((unsigned short *) pkt, sizeof(packet));
index 778dcd4f574a4d532091e8c949a7d4d618429035..c0b31c75265a2384d52c308a40e97b14c6c01720 100644 (file)
@@ -206,9 +206,10 @@ static void sendping(int junk)
        pkt->icmp6_type = ICMP6_ECHO_REQUEST;
        pkt->icmp6_code = 0;
        pkt->icmp6_cksum = 0;
-       pkt->icmp6_seq = htons(ntransmitted++);
+       pkt->icmp6_seq = htons(ntransmitted); /* don't ++ here, it can be a macro */
        pkt->icmp6_id = myid;
        CLR(pkt->icmp6_seq % MAX_DUP_CHK);
+       ntransmitted++;
 
        gettimeofday((struct timeval *) &pkt->icmp6_data8[4], NULL);