From: pk910 Date: Sat, 23 Jul 2011 06:12:00 +0000 (+0200) Subject: fixed a (maybe) error in the database write function (mod-watchdog.c) X-Git-Url: http://git.pk910.de/?p=srvx.git;a=commitdiff_plain;h=bd5f5bdad6d0f932aa2b867dd93351134718c0ab fixed a (maybe) error in the database write function (mod-watchdog.c) --- diff --git a/src/mod-watchdog.c b/src/mod-watchdog.c index 65935bd..4f8f27b 100644 --- a/src/mod-watchdog.c +++ b/src/mod-watchdog.c @@ -547,13 +547,15 @@ watchdog_saxdb_write(struct saxdb_context *ctx) saxdb_start_record(ctx, KEY_BADWORDS, 1); for (it = dict_first(shitlist); it; it = iter_next(it)) { struct badword *badword = iter_data(it); - saxdb_start_record(ctx, iter_key(it), 0); - - saxdb_write_string(ctx, KEY_BADWORD_MASK, badword->badword_mask); - saxdb_write_int(ctx, KEY_BADWORD_TRIGGERED, badword->triggered); - saxdb_write_int(ctx, KEY_BADWORD_ACTION, badword->action); - - saxdb_end_record(ctx); + if(badword && badword->badword_mask) { + saxdb_start_record(ctx, iter_key(it), 0); + + saxdb_write_string(ctx, KEY_BADWORD_MASK, badword->badword_mask); + saxdb_write_int(ctx, KEY_BADWORD_TRIGGERED, badword->triggered); + saxdb_write_int(ctx, KEY_BADWORD_ACTION, badword->action); + + saxdb_end_record(ctx); + } } saxdb_end_record(ctx); } @@ -562,9 +564,11 @@ watchdog_saxdb_write(struct saxdb_context *ctx) saxdb_start_record(ctx, KEY_CHANNELS, 1); for (it = dict_first(chanlist); it; it = iter_next(it)) { struct watchdog_channel *wc = iter_data(it); - saxdb_start_record(ctx, wc->channel->name, 0); - //anything else? - saxdb_end_record(ctx); + if(wc && wc->channel && wc->channel->name) { + saxdb_start_record(ctx, wc->channel->name, 0); + //anything else? + saxdb_end_record(ctx); + } } saxdb_end_record(ctx); }