From d92c96e7832ae4c7f9c32eec0d2f7f661a65b73e Mon Sep 17 00:00:00 2001 From: iphydf Date: Sun, 12 Aug 2018 11:35:01 +0000 Subject: Fix a few warnings from clang. Also remove the use of a VLA in a context where there can be unbounded memory allocations. --- other/bootstrap_daemon/src/command_line_arguments.c | 14 +++++++------- other/bootstrap_daemon/src/log.h | 10 ++++++---- other/bootstrap_daemon/src/log_backend_stdout.h | 2 +- other/bootstrap_daemon/src/log_backend_syslog.c | 4 +++- other/bootstrap_daemon/src/log_backend_syslog.h | 2 +- 5 files changed, 18 insertions(+), 14 deletions(-) (limited to 'other/bootstrap_daemon') diff --git a/other/bootstrap_daemon/src/command_line_arguments.c b/other/bootstrap_daemon/src/command_line_arguments.c index d9747932..d76bc655 100644 --- a/other/bootstrap_daemon/src/command_line_arguments.c +++ b/other/bootstrap_daemon/src/command_line_arguments.c @@ -73,13 +73,13 @@ void handle_command_line_arguments(int argc, char *argv[], char **cfg_file_path, opterr = 0; - static struct option long_options[] = { - {"config", required_argument, 0, 'c'}, // required option - {"foreground", no_argument, 0, 'f'}, - {"help", no_argument, 0, 'h'}, - {"log-backend", required_argument, 0, 'l'}, // optional, defaults to syslog - {"version", no_argument, 0, 'v'}, - {0, 0, 0, 0 } + static const struct option long_options[] = { + {"config", required_argument, nullptr, 'c'}, // required option + {"foreground", no_argument, nullptr, 'f'}, + {"help", no_argument, nullptr, 'h'}, + {"log-backend", required_argument, nullptr, 'l'}, // optional, defaults to syslog + {"version", no_argument, nullptr, 'v'}, + {nullptr, 0, nullptr, 0 } }; bool cfg_file_path_set = false; diff --git a/other/bootstrap_daemon/src/log.h b/other/bootstrap_daemon/src/log.h index ab7cd30b..a810d997 100644 --- a/other/bootstrap_daemon/src/log.h +++ b/other/bootstrap_daemon/src/log.h @@ -27,6 +27,8 @@ #include +#include "../../../toxcore/ccompat.h" + typedef enum LOG_BACKEND { LOG_BACKEND_STDOUT, LOG_BACKEND_SYSLOG @@ -41,13 +43,13 @@ typedef enum LOG_LEVEL { /** * Initializes logger. * @param backend Specifies which backend to use. - * @return true on success, flase if log is already opened. + * @return true on success, false if log is already opened. */ bool log_open(LOG_BACKEND backend); /** * Releases all used resources by the logger. - * @return true on success, flase if log is already closed. + * @return true on success, false if log is already closed. */ bool log_close(void); @@ -56,9 +58,9 @@ bool log_close(void); * @param level Log level to use. * @param format printf-like format string. * @param ... Zero or more arguments, similar to printf function. - * @return true on success, flase if log is closed. + * @return true on success, false if log is closed. */ -bool log_write(LOG_LEVEL level, const char *format, ...); +bool log_write(LOG_LEVEL level, const char *format, ...) GNU_PRINTF(2, 3); #endif // LOG_H diff --git a/other/bootstrap_daemon/src/log_backend_stdout.h b/other/bootstrap_daemon/src/log_backend_stdout.h index 5d8dd463..096af49c 100644 --- a/other/bootstrap_daemon/src/log_backend_stdout.h +++ b/other/bootstrap_daemon/src/log_backend_stdout.h @@ -29,6 +29,6 @@ #include -void log_backend_stdout_write(LOG_LEVEL level, const char *format, va_list args); +void log_backend_stdout_write(LOG_LEVEL level, const char *format, va_list args) GNU_PRINTF(2, 0); #endif // LOG_BACKEND_STDOUT_H diff --git a/other/bootstrap_daemon/src/log_backend_syslog.c b/other/bootstrap_daemon/src/log_backend_syslog.c index 9fc6d18f..73ecc964 100644 --- a/other/bootstrap_daemon/src/log_backend_syslog.c +++ b/other/bootstrap_daemon/src/log_backend_syslog.c @@ -30,6 +30,7 @@ #include #include +#include #include void log_backend_syslog_open(void) @@ -72,8 +73,9 @@ void log_backend_syslog_write(LOG_LEVEL level, const char *format, va_list args) return; } - VLA(char, buf, size + 1); + char *buf = (char *)malloc(size + 1); vsnprintf(buf, size + 1, format, args); syslog(log_backend_syslog_level(level), "%s", buf); + free(buf); } diff --git a/other/bootstrap_daemon/src/log_backend_syslog.h b/other/bootstrap_daemon/src/log_backend_syslog.h index f09b0431..5e9a3069 100644 --- a/other/bootstrap_daemon/src/log_backend_syslog.h +++ b/other/bootstrap_daemon/src/log_backend_syslog.h @@ -31,6 +31,6 @@ void log_backend_syslog_open(void); void log_backend_syslog_close(void); -void log_backend_syslog_write(LOG_LEVEL level, const char *format, va_list args); +void log_backend_syslog_write(LOG_LEVEL level, const char *format, va_list args) GNU_PRINTF(2, 0); #endif // LOG_BACKEND_SYSLOG_H -- cgit v1.2.3