Add format attributes to the proper functions and then fix the warning in
session.c.
ok?
diff --git bgpd.h bgpd.h
index 5fa046e..eaf93e6 100644
--- bgpd.h
+++ bgpd.h
@@ -989,15 +989,24 @@ struct in6_addr *prefixlen2mask6(u_int8_t prefixlen);
/* log.c */
void log_init(int);
void log_verbose(int);
-void logit(int, const char *, ...);
-void vlog(int, const char *, va_list);
-void log_peer_warn(const struct peer_config *, const char *, ...);
-void log_peer_warnx(const struct peer_config *, const char *, ...);
-void log_warn(const char *, ...);
-void log_warnx(const char *, ...);
-void log_info(const char *, ...);
-void log_debug(const char *, ...);
-void fatal(const char *, ...) __dead;
+void logit(int, const char *, ...)
+ __attribute__((__format__ (printf, 2, 3)));
+void vlog(int, const char *, va_list)
+ __attribute__((__format__ (printf, 2, 0)));
+void log_peer_warn(const struct peer_config *, const char *, ...)
+ __attribute__((__format__ (printf, 2, 3)));
+void log_peer_warnx(const struct peer_config *, const char *, ...)
+ __attribute__((__format__ (printf, 2, 3)));
+void log_warn(const char *, ...)
+ __attribute__((__format__ (printf, 1, 2)));
+void log_warnx(const char *, ...)
+ __attribute__((__format__ (printf, 1, 2)));
+void log_info(const char *, ...)
+ __attribute__((__format__ (printf, 1, 2)));
+void log_debug(const char *, ...)
+ __attribute__((__format__ (printf, 1, 2)));
+void fatal(const char *, ...) __dead
+ __attribute__((__format__ (printf, 1, 2)));
void fatalx(const char *) __dead;
/* mrt.c */
diff --git session.c session.c
index 8c853a1..e736b76 100644
--- session.c
+++ session.c
@@ -2017,7 +2017,7 @@ parse_open(struct peer *peer)
/* check bgpid for validity - just disallow 0 */
if (ntohl(bgpid) == 0) {
- log_peer_warnx(&peer->conf, "peer BGPID %lu unacceptable",
+ log_peer_warnx(&peer->conf, "peer BGPID %u unacceptable",
ntohl(bgpid));
session_notification(peer, ERR_OPEN, ERR_OPEN_BGPID,
NULL, 0);