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;
|
||||
if(stored->payloadlen != event_data.payloadlen){
|
||||
if(UHPA_ACCESS(stored->payload, stored->payloadlen) != event_data.payload){
|
||||
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;
|
||||
}
|
||||
memcpy(UHPA_ACCESS(stored->payload, stored->payloadlen), event_data.payload, stored->payloadlen);
|
||||
|
Loading…
Reference in New Issue
Block a user