Signed-off-by: Quentin Young <qlyoung@nvidia.com>
/*
* Non-MT-safe version
*/
-ssize_t
-vbprintfrr(struct fbuf *cb_in, const char *fmt0, va_list ap)
+ssize_t vbprintfrr(struct fbuf *cb_in, const char *fmt0, va_list ap)
+ __attribute__((no_sanitize("unsigned-integer-overflow")))
{
const char *fmt; /* format string */
int ch; /* character from fmt */
}
} else {
if ((long)ulval < 0) {
- ulval = (u_long)-ulval;
+ ulval = (~ulval) + 1;
sign = '-';
}
}
can be originated. "
*/
- if (ntohl(lsa->data->ls_seqnum) - 1 == OSPF_MAX_SEQUENCE_NUMBER) {
+ if (ntohl(lsa->data->ls_seqnum) != 0
+ && ntohl(lsa->data->ls_seqnum) - 1 == OSPF_MAX_SEQUENCE_NUMBER) {
if (ospf_lsa_is_self_originated(ospf, lsa)) {
lsa->data->ls_seqnum = htonl(OSPF_MAX_SEQUENCE_NUMBER);