diff options
-rw-r--r-- | ospf6d/ospf6_intra.c | 6 |
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)) |