diff --git a/tools/logger/convert.c b/tools/logger/convert.c index 861cd42cafd2..22ad5439ce71 100644 --- a/tools/logger/convert.c +++ b/tools/logger/convert.c @@ -630,8 +630,10 @@ static int logger_read(void) freopen(NULL, "r", global_config->in_fd); continue; } - - return -ferror(global_config->in_fd); + log_err("in %s(), fread(..., %s) failed: %s(%d)\n", + __func__, global_config->in_file, + strerror(errno), errno); + return -errno; } /* checking if received trace address is located in diff --git a/tools/logger/logger.c b/tools/logger/logger.c index 4ddf9cba7eca..6ee6f4667921 100644 --- a/tools/logger/logger.c +++ b/tools/logger/logger.c @@ -150,7 +150,7 @@ static int append_filter_config(struct convert_config *config, const char *input /* filer_config can't be NULL for following steps */ if (!old_config) - config->filter_config = asprintf(""); + config->filter_config = asprintf("%s", ""); config->filter_config = asprintf("%s%s\n", config->filter_config, input); free(old_config); diff --git a/tools/logger/misc.h b/tools/logger/misc.h index ec516591b3c1..d1a1b5bdf92d 100644 --- a/tools/logger/misc.h +++ b/tools/logger/misc.h @@ -9,8 +9,15 @@ #include char *vasprintf(const char *format, va_list args); + +#ifdef __GNUC__ +__attribute__((format(printf, 1, 2))) +#endif char *asprintf(const char *format, ...); +#ifdef __GNUC__ +__attribute__((format(printf, 1, 2))) +#endif void log_err(const char *fmt, ...); /* trim whitespaces from string begin */