From 72022106efe793d55d6c234fa059c5fdc2a2d105 Mon Sep 17 00:00:00 2001 From: Rob Swindell <rob@synchro.net> Date: Wed, 4 Jan 2023 16:30:29 -0800 Subject: [PATCH] Fix crash in mqtt_errormsg() when MQTT is disabled Should fix the segfault reported by NeoArata_ in #synchronet Also include singular/plural error/s in server status messages. --- src/sbbs3/mqtt.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/sbbs3/mqtt.c b/src/sbbs3/mqtt.c index 60b6477649..df4c5343ff 100644 --- a/src/sbbs3/mqtt.c +++ b/src/sbbs3/mqtt.c @@ -544,7 +544,7 @@ int mqtt_server_state(struct mqtt* mqtt, enum server_state state) char tmp[256]; char errors[64] = ""; if(mqtt->error_count) - snprintf(errors, sizeof(errors), "%lu errors", mqtt->error_count); + snprintf(errors, sizeof(errors), "%lu error%s", mqtt->error_count, mqtt->error_count > 1 ? "s" : ""); char served[64] = ""; if(mqtt->served) snprintf(served, sizeof(served), "%lu served", mqtt->served); @@ -567,7 +567,7 @@ int mqtt_server_state(struct mqtt* mqtt, enum server_state state) int mqtt_errormsg(struct mqtt* mqtt, int level, const char* msg) { - if(mqtt == NULL) + if(mqtt == NULL || mqtt->cfg == NULL) return MQTT_FAILURE; ++mqtt->error_count; mqtt_pub_uintval(mqtt, TOPIC_SERVER, "error_count", mqtt->error_count); -- GitLab