diff --git a/src/stratifier.c b/src/stratifier.c index 7902db36..cfe8ec04 100644 --- a/src/stratifier.c +++ b/src/stratifier.c @@ -454,11 +454,8 @@ struct json_entry { * to the log outside of lock */ static void add_msg_entry(char_entry_t **entries, char **buf) { - char_entry_t *entry; + char_entry_t *entry = ckalloc(sizeof(char_entry_t)); - if (!*buf) - return; - entry = ckalloc(sizeof(char_entry_t)); entry->buf = *buf; *buf = NULL; DL_APPEND(*entries, entry); @@ -1340,7 +1337,10 @@ static void _dec_instance_ref(sdata_t *sdata, stratum_instance_t *client, const * moved due to holding a reference and drop them now. */ if (unlikely(client->dropped && !ref)) { __drop_client(sdata, client, true, &msg); - add_msg_entry(&entries, &msg); + /* Make sure there is a message as throttled users don't + * generate a message */ + if (msg) + add_msg_entry(&entries, &msg); } ck_wunlock(&sdata->instance_lock);