init: Fix segfault when log_write() was missing an arg to format.
Also, flag log_write() as a printf-like beast to gcc.
Signed-off-by: Dima Zavin <dima@android.com>
diff --git a/init/init.c b/init/init.c
index b8b4f40..a748ec3 100644
--- a/init/init.c
+++ b/init/init.c
@@ -421,7 +421,7 @@
if (svc) {
service_stop(svc);
} else {
- ERROR("no such service '%s'\n");
+ ERROR("no such service '%s'\n", name);
}
}
diff --git a/init/init.h b/init/init.h
index b686869..c9363da 100644
--- a/init/init.h
+++ b/init/init.h
@@ -29,7 +29,8 @@
void log_init(void);
void log_set_level(int level);
void log_close(void);
-void log_write(int level, const char *fmt, ...);
+void log_write(int level, const char *fmt, ...)
+ __attribute__ ((format(printf, 2, 3)));
#define ERROR(x...) log_write(3, "<3>init: " x)
#define NOTICE(x...) log_write(5, "<5>init: " x)