Fix plugin payload modification.
This commit is contained in:
parent
cd3dda387a
commit
9d68da4664
@ -137,9 +137,14 @@ int plugin__handle_message(struct mosquitto_db *db, struct mosquitto *context, s
|
|||||||
}
|
}
|
||||||
|
|
||||||
stored->topic = event_data.topic;
|
stored->topic = event_data.topic;
|
||||||
if(stored->payloadlen != event_data.payloadlen){
|
if(UHPA_ACCESS(stored->payload, stored->payloadlen) != event_data.payload){
|
||||||
UHPA_FREE(stored->payload, stored->payloadlen);
|
UHPA_FREE(stored->payload, stored->payloadlen);
|
||||||
UHPA_ALLOC(stored->payload, event_data.payloadlen);
|
if(event_data.payloadlen > sizeof(stored->payload.array)){
|
||||||
|
stored->payload.ptr = event_data.payload;
|
||||||
|
}else{
|
||||||
|
memcpy(stored->payload.array, event_data.payload, event_data.payloadlen);
|
||||||
|
mosquitto_free(event_data.payload);
|
||||||
|
}
|
||||||
stored->payloadlen = event_data.payloadlen;
|
stored->payloadlen = event_data.payloadlen;
|
||||||
}
|
}
|
||||||
memcpy(UHPA_ACCESS(stored->payload, stored->payloadlen), event_data.payload, stored->payloadlen);
|
memcpy(UHPA_ACCESS(stored->payload, stored->payloadlen), event_data.payload, stored->payloadlen);
|
||||||
|
Loading…
Reference in New Issue
Block a user