about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--handle.c16
1 files changed, 12 insertions, 4 deletions
diff --git a/handle.c b/handle.c
index 8e91810..0719754 100644
--- a/handle.c
+++ b/handle.c
@@ -677,7 +677,9 @@ static void handleMode(struct Message *msg) {
 		if (!name) name = "";
 
 		if (strchr(network.prefixModes, *ch)) {
-			assert(i < ParamCap);
+			if (i >= ParamCap || !msg->params[i]) {
+				errx(EX_PROTOCOL, "MODE missing %s parameter", mode);
+			}
 			char *nick = msg->params[i++];
 			char prefix = network.prefixes[
 				strchr(network.prefixModes, *ch) - network.prefixModes
@@ -696,7 +698,9 @@ static void handleMode(struct Message *msg) {
 		}
 
 		if (strchr(network.listModes, *ch)) {
-			assert(i < ParamCap);
+			if (i >= ParamCap || !msg->params[i]) {
+				errx(EX_PROTOCOL, "MODE missing %s parameter", mode);
+			}
 			char *mask = msg->params[i++];
 			if (*ch == 'b') {
 				verb = (set ? "bans" : "unbans");
@@ -727,7 +731,9 @@ static void handleMode(struct Message *msg) {
 		}
 
 		if (strchr(network.paramModes, *ch)) {
-			assert(i < ParamCap);
+			if (i >= ParamCap || !msg->params[i]) {
+				errx(EX_PROTOCOL, "MODE missing %s parameter", mode);
+			}
 			char *param = msg->params[i++];
 			uiFormat(
 				id, Cold, tagTime(msg),
@@ -742,7 +748,9 @@ static void handleMode(struct Message *msg) {
 		}
 
 		if (strchr(network.setParamModes, *ch) && set) {
-			assert(i < ParamCap);
+			if (i >= ParamCap || !msg->params[i]) {
+				errx(EX_PROTOCOL, "MODE missing %s parameter", mode);
+			}
 			char *param = msg->params[i++];
 			uiFormat(
 				id, Cold, tagTime(msg),
n/up.sh?id=ecd7fe2964a210885ba6beb96ba2e1ef5895c09c&follow=1'>Use scrot for up -s if no screencaptureJune McEnroe Still missing putting the URL in an X selection. 2021-02-07Enable mouse acceleration in XJune McEnroe 2021-02-07Set colours for Xt and cwmJune McEnroe And increase XTerm internalBorder. 2021-02-07Set urgency on bell in xtermJune McEnroe 2021-02-07Add bindings for brightness controlJune McEnroe Weirdly the Fn key doesn't change how the F row registers... I wonder if I can do something about that. 2021-02-07Set X key repeat rateJune McEnroe 2021-02-07Bump font size to 12June McEnroe 11 is what I use on macOS, but I feel like my eyes are working harder here. 2021-02-07Fully configure and rebind cwmJune McEnroe This is sort of a mix of trying to emulate macOS somewhat for my muscle memory and just rebinding some of the cwm defaults to use 4- rather than M-. 2021-02-07Add BintiJune McEnroe 2021-02-07Finish configuring xtermJune McEnroe 2021-02-06Enable tapping, reverse scroll, set scaling in wsconsctlJune McEnroe 2021-02-06Set root window to black on purple snowJune McEnroe 2021-02-06Add xmodmap configurationJune McEnroe 2021-02-06Add initial OpenBSD X configurationJune McEnroe cwm still needs a lot more rebinding, and I need to actually look at its other options. xterm definitely still needs some configuration, but I at least managed to get it to use a decent looking font. Very happy that OpenBSD includes Luxi Mono, which is what my usual font, Go Mono, is based on anyway. Still missing is xmodmap and such. 2021-02-06Add xterm output to schemeJune McEnroe