summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Jakma <paul.jakma@sun.com>2006-03-30 14:34:31 +0000
committerPaul Jakma <paul.jakma@sun.com>2006-03-30 14:34:31 +0000
commit075c2011bbec618934637ead3fd6dec65cd30a45 (patch)
tree47e252e3f2d524a520d9be081af0bbaa2963e5c7
parentd4ce4f681e04bdd11f5bc7ab30bc6e9048fdf6d2 (diff)
[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>.
-rw-r--r--ospfd/ChangeLog7
-rw-r--r--ospfd/ospf_lsa.c2
2 files changed, 8 insertions, 1 deletions
diff --git a/ospfd/ChangeLog b/ospfd/ChangeLog
index e5aa0660..265c9c76 100644
--- a/ospfd/ChangeLog
+++ b/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,
diff --git a/ospfd/ospf_lsa.c b/ospfd/ospf_lsa.c
index 12959f04..faae4376 100644
--- a/ospfd/ospf_lsa.c
+++ b/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;