@ -590,9 +590,10 @@ int _mosquitto_read_string(struct _mosquitto_packet *packet, char **str)
if(packet->pos+len > packet->remaining_length) return MOSQ_ERR_PROTOCOL;
*str = _mosquitto_calloc(len+1, sizeof(char));
*str = _mosquitto_malloc(len+1);
if(*str){
memcpy(*str, &(packet->payload[packet->pos]), len);
(*str)[len] = '\0';
packet->pos += len;
}else{
return MOSQ_ERR_NOMEM;
@ -143,12 +143,13 @@ int _mosquitto_send_publish(struct mosquitto *mosq, uint16_t mid, const char *to
if(cur_topic->remote_prefix){
/* This prefix needs adding. */
len = strlen(mapped_topic) + strlen(cur_topic->remote_prefix)+1;
topic_temp = _mosquitto_calloc(len+1, sizeof(char));
topic_temp = _mosquitto_malloc(len+1);
if(!topic_temp){
_mosquitto_free(mapped_topic);
}
snprintf(topic_temp, len, "%s%s", cur_topic->remote_prefix, mapped_topic);
cur_topic->remote_prefix[len] = '\0';
mapped_topic = topic_temp;
@ -191,7 +191,7 @@ int mqtt3_handle_publish(struct mosquitto_db *db, struct mosquitto *context)
_mosquitto_log_printf(NULL, MOSQ_LOG_DEBUG, "Dropped too large PUBLISH from %s (d%d, q%d, r%d, m%d, '%s', ... (%ld bytes))", context->id, dup, qos, retain, mid, topic, (long)payloadlen);
goto process_bad_message;
payload = _mosquitto_malloc(payloadlen+1);
payload = _mosquitto_calloc(payloadlen+1, 1);
if(!payload){
_mosquitto_free(topic);
return 1;
@ -201,7 +201,6 @@ int mqtt3_handle_publish(struct mosquitto_db *db, struct mosquitto *context)
_mosquitto_free(payload);
payload[payloadlen] = '\0';
/* Check for topic access */