Browse Source

[ospfd] Fix failure of Fletcher checksum with certain compilers

2006-03-27 Paul Jakma <paul.jakma@sun.com>

	* ospf_lsa.c: (ospf_lsa_checksum) Add an explicit cast to avoid
	  the ambiguities of ANSI and C99 C with respect to type
	  conversion. Detailed problem report and test case with
	  example data supplied by Dmitry Ivanov <dimss@telecentrs.lv>.
Paul Jakma 14 years ago
parent
commit
075c2011bb
2 changed files with 8 additions and 1 deletions
  1. 7 0
      ospfd/ChangeLog
  2. 1 1
      ospfd/ospf_lsa.c

+ 7 - 0
ospfd/ChangeLog

@@ -1,3 +1,10 @@
+2006-03-27 Paul Jakma <paul.jakma@sun.com>
+
+	* ospf_lsa.c: (ospf_lsa_checksum) Add an explicit cast to avoid
+	  the ambiguities of ANSI and C99 C with respect to type
+	  conversion. Detailed problem report and test case with
+	  example data supplied by Dmitry Ivanov <dimss@telecentrs.lv>.
+
 2006-03-25 Paul Jakma <paul.jakma@sun.com>
 
 	* ospf_interface.c: (ospf_if_lookup_recv_if) Ignore loopbacks,

+ 1 - 1
ospfd/ospf_lsa.c

@@ -202,7 +202,7 @@ ospf_lsa_checksum (struct lsa_header *lsa)
       c1 %= 255;
     }
 
-  x = ((length - LSA_CHECKSUM_OFFSET) * c0 - c1) % 255;
+  x = (((int)length - LSA_CHECKSUM_OFFSET) * c0 - c1) % 255;
   if (x <= 0)
     x += 255;
   y = 510 - c0 - x;