aboutsummaryrefslogtreecommitdiff
path: root/libkmod
diff options
context:
space:
mode:
authorGustavo Sverzut Barbieri <barbieri@profusion.mobi>2011-12-08 13:58:46 -0200
committerLucas De Marchi <lucas.demarchi@profusion.mobi>2011-12-08 14:07:13 -0200
commite5c60f1c283ddc92286d9d30d0a3d09184d52f49 (patch)
tree29b0b1d10cf92aeb5faa07e894aade917eabb554 /libkmod
parent1bdd951ee2fcc906a0394ee0b387e355d2bab850 (diff)
downloadkmod-e5c60f1c283ddc92286d9d30d0a3d09184d52f49.tar.gz
NULL safety in public places, allows disable logging.
Diffstat (limited to 'libkmod')
-rw-r--r--libkmod/libkmod.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/libkmod/libkmod.c b/libkmod/libkmod.c
index b08c6af..79dd470 100644
--- a/libkmod/libkmod.c
+++ b/libkmod/libkmod.c
@@ -68,6 +68,9 @@ void kmod_log(const struct kmod_ctx *ctx,
{
va_list args;
+ if (ctx->log_fn == NULL)
+ return;
+
va_start(args, format);
ctx->log_fn(ctx->log_data, priority, file, line, fn, format, args);
va_end(args);
@@ -267,6 +270,8 @@ KMOD_EXPORT void kmod_set_log_fn(struct kmod_ctx *ctx,
const char *format, va_list args),
const void *data)
{
+ if (ctx == NULL)
+ return;
ctx->log_fn = log_fn;
ctx->log_data = (void *)data;
INFO(ctx, "custom logging function %p registered\n", log_fn);
@@ -280,6 +285,8 @@ KMOD_EXPORT void kmod_set_log_fn(struct kmod_ctx *ctx,
**/
KMOD_EXPORT int kmod_get_log_priority(const struct kmod_ctx *ctx)
{
+ if (ctx == NULL)
+ return -1;
return ctx->log_priority;
}
@@ -293,6 +300,8 @@ KMOD_EXPORT int kmod_get_log_priority(const struct kmod_ctx *ctx)
**/
KMOD_EXPORT void kmod_set_log_priority(struct kmod_ctx *ctx, int priority)
{
+ if (ctx == NULL)
+ return;
ctx->log_priority = priority;
}