diff options
| author | Paul Jakma <paul.jakma@sun.com> | 2006-03-30 14:34:31 +0000 | 
|---|---|---|
| committer | Paul Jakma <paul.jakma@sun.com> | 2006-03-30 14:34:31 +0000 | 
| commit | 075c2011bbec618934637ead3fd6dec65cd30a45 (patch) | |
| tree | 47e252e3f2d524a520d9be081af0bbaa2963e5c7 | |
| parent | d4ce4f681e04bdd11f5bc7ab30bc6e9048fdf6d2 (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/ChangeLog | 7 | ||||
| -rw-r--r-- | ospfd/ospf_lsa.c | 2 | 
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; | 
