[PATCH 1/1] libubox: add format string checking to ulog()

Kristupas Savickas savickas.kristupas at gmail.com
Thu Jun 6 14:28:32 EDT 2019


This offers an increased level of security, as the arguments will be
checked for validity against the format string at compile time. The
format attribute is supported by both GCC and Clang, so there shouldn't
be any portability issues.

Signed-off-by: Kristupas Savickas <savickas.kristupas at gmail.com>
---
ulog.h | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/ulog.h b/ulog.h
index 4818b1a..46d3c77 100644
--- a/ulog.h
+++ b/ulog.h
@@ -32,7 +32,8 @@ void ulog_close(void);

void ulog_threshold(int threshold);

-void ulog(int priority, const char *fmt, ...);
+void ulog(int priority, const char *fmt, ...)
+       __attribute__ ((format (printf, 2, 3)));

#define ULOG_INFO(fmt, ...) ulog(LOG_INFO, fmt, ## __VA_ARGS__)
#define ULOG_NOTE(fmt, ...) ulog(LOG_NOTICE, fmt, ## __VA_ARGS__)
--
2.21.0

_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel



More information about the openwrt-devel mailing list