--- dircproxy-1.0.5.orig/src/irc_server.c
+++ dircproxy-1.0.5/src/irc_server.c
@@ -700,7 +700,8 @@
free(s);
/* Was in the squelch list, so remove it and stop looking */
- s = (l ? l->next : p->squelch_modes) = n;
+ if (l) l->next = n; else p->squelch_modes = n;
+ s = n;
squelch = 1;
break;
} else {
@@ -741,7 +742,8 @@
free(s);
/* Was in the squelch list, so remove it and stop looking */
- s = (l ? l->next : p->squelch_modes) = n;
+ if (l) l->next = n; else p->squelch_modes = n;
+ s = n;
squelch = 1;
break;
} else {
@@ -1076,7 +1078,7 @@
if (!strcmp(cmsg.cmd, "ACTION")) {
if (p->conn_class->log_events & IRC_LOG_ACTION)
- irclog_ctcp(p, msg.params[0], msg.src.orig, "%s", cmsg.orig);
+ irclog_ctcp(p, (msg.params != NULL ) ? msg.params[0]: "none", msg.src.orig, "%s", cmsg.orig);
} else if (!strcmp(cmsg.cmd, "DCC")
&& p->conn_class->dcc_proxy_incoming) {