summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ospf6d/ospf6_intra.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/ospf6d/ospf6_intra.c b/ospf6d/ospf6_intra.c
index 1ef0b535..6606c96d 100644
--- a/ospf6d/ospf6_intra.c
+++ b/ospf6d/ospf6_intra.c
@@ -234,9 +234,9 @@ ospf6_router_lsa_originate (struct thread *thread)
/* Multiple Router-LSA instance according to size limit setting */
if ( (oa->router_lsa_size_limit != 0)
- && ((caddr_t) lsdesc + sizeof (struct ospf6_router_lsdesc) -
- /* XXX warning: comparison between signed and unsigned */
- (caddr_t) buffer > oa->router_lsa_size_limit))
+ && ((size_t)((char *)lsdesc - buffer)
+ + sizeof (struct ospf6_router_lsdesc)
+ > oa->router_lsa_size_limit))
{
if ((caddr_t) lsdesc == (caddr_t) router_lsa +
sizeof (struct ospf6_router_lsa))