log, conf, tap: Define die() as err() plus exit(), drop cppcheck workarounds
If we define die() as a variadic macro, passing __VA_ARGS__ to err(),
and calling exit() outside err() itself, we can drop the workarounds
introduced in commit 36f0199f6e
("conf, tap: Silence two false
positive invalidFunctionArg from cppcheck").
Suggested-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
Reviewed-by: David Gibson <david@gibson.dropbear.id.au>
This commit is contained in:
parent
fb05a71378
commit
d2df763232
4 changed files with 12 additions and 18 deletions
3
conf.c
3
conf.c
|
@ -1064,9 +1064,6 @@ static void conf_ugid(char *runas, uid_t *uid, gid_t *gid)
|
|||
if ((fd = open("/proc/self/uid_map", O_RDONLY | O_CLOEXEC)) < 0) {
|
||||
die("Can't determine if we're in init namespace: %s",
|
||||
strerror(errno));
|
||||
|
||||
/* Silence cppcheck's invalidFunctionArg for 'fd' in read() */
|
||||
return;
|
||||
}
|
||||
|
||||
if (read(fd, buf, BUFSIZ) != sizeof(root_uid_map) ||
|
||||
|
|
14
log.c
14
log.c
|
@ -46,7 +46,7 @@ int log_trace; /* --trace mode enabled */
|
|||
|
||||
#define BEFORE_DAEMON (setlogmask(0) == LOG_MASK(LOG_EMERG))
|
||||
|
||||
#define logfn(name, level, doexit) \
|
||||
#define logfn(name, level) \
|
||||
void name(const char *format, ...) { \
|
||||
struct timespec tp; \
|
||||
va_list args; \
|
||||
|
@ -75,9 +75,6 @@ void name(const char *format, ...) { \
|
|||
if (format[strlen(format)] != '\n') \
|
||||
fprintf(stderr, "\n"); \
|
||||
} \
|
||||
\
|
||||
if (doexit) \
|
||||
exit(EXIT_FAILURE); \
|
||||
}
|
||||
|
||||
/* Prefixes for log file messages, indexed by priority */
|
||||
|
@ -90,11 +87,10 @@ const char *logfile_prefix[] = {
|
|||
" ", /* LOG_DEBUG */
|
||||
};
|
||||
|
||||
logfn(die, LOG_ERR, 1)
|
||||
logfn(err, LOG_ERR, 0)
|
||||
logfn(warn, LOG_WARNING, 0)
|
||||
logfn(info, LOG_INFO, 0)
|
||||
logfn(debug,LOG_DEBUG, 0)
|
||||
logfn(err, LOG_ERR)
|
||||
logfn(warn, LOG_WARNING)
|
||||
logfn(info, LOG_INFO)
|
||||
logfn(debug,LOG_DEBUG)
|
||||
|
||||
/**
|
||||
* trace_init() - Set log_trace depending on trace (debug) mode
|
||||
|
|
7
log.h
7
log.h
|
@ -10,12 +10,17 @@
|
|||
#define LOGFILE_CUT_RATIO 30 /* When full, cut ~30% size */
|
||||
#define LOGFILE_SIZE_MIN (5UL * MAX(BUFSIZ, PAGE_SIZE))
|
||||
|
||||
void die(const char *format, ...);
|
||||
void err(const char *format, ...);
|
||||
void warn(const char *format, ...);
|
||||
void info(const char *format, ...);
|
||||
void debug(const char *format, ...);
|
||||
|
||||
#define die(...) \
|
||||
do { \
|
||||
err(__VA_ARGS__); \
|
||||
exit(EXIT_FAILURE); \
|
||||
} while (0)
|
||||
|
||||
extern int log_trace;
|
||||
void trace_init(int enable);
|
||||
#define trace(...) \
|
||||
|
|
6
tap.c
6
tap.c
|
@ -1037,13 +1037,9 @@ static void tap_sock_unix_init(struct ctx *c)
|
|||
snprintf(path, UNIX_PATH_MAX - 1, UNIX_SOCK_PATH, i);
|
||||
|
||||
ex = socket(AF_UNIX, SOCK_STREAM | SOCK_NONBLOCK, 0);
|
||||
if (ex < 0) {
|
||||
if (ex < 0)
|
||||
die("UNIX domain socket check: %s", strerror(errno));
|
||||
|
||||
/* Silence cppcheck's invalidFunctionArg for 'ex' */
|
||||
return;
|
||||
}
|
||||
|
||||
ret = connect(ex, (const struct sockaddr *)&addr, sizeof(addr));
|
||||
if (!ret || (errno != ENOENT && errno != ECONNREFUSED &&
|
||||
errno != EACCES)) {
|
||||
|
|
Loading…
Reference in a new issue