Fixed empty string crash in mosquitto_property_copy_all
Signed-off-by: Alexander Fiebig <alex.fiebig@online.de>
This commit is contained in:
parent
5c3c5d779f
commit
28416da47a
@ -1248,7 +1248,7 @@ int mosquitto_property_copy_all(mosquitto_property **dest, const mosquitto_prope
|
|||||||
case MQTT_PROP_SERVER_REFERENCE:
|
case MQTT_PROP_SERVER_REFERENCE:
|
||||||
case MQTT_PROP_REASON_STRING:
|
case MQTT_PROP_REASON_STRING:
|
||||||
pnew->value.s.len = src->value.s.len;
|
pnew->value.s.len = src->value.s.len;
|
||||||
pnew->value.s.v = strdup(src->value.s.v);
|
pnew->value.s.v = src->value.s.v ? strdup(src->value.s.v) : (char*)calloc(1,1);
|
||||||
if(!pnew->value.s.v){
|
if(!pnew->value.s.v){
|
||||||
mosquitto_property_free_all(dest);
|
mosquitto_property_free_all(dest);
|
||||||
return MOSQ_ERR_NOMEM;
|
return MOSQ_ERR_NOMEM;
|
||||||
@ -1268,14 +1268,14 @@ int mosquitto_property_copy_all(mosquitto_property **dest, const mosquitto_prope
|
|||||||
|
|
||||||
case MQTT_PROP_USER_PROPERTY:
|
case MQTT_PROP_USER_PROPERTY:
|
||||||
pnew->value.s.len = src->value.s.len;
|
pnew->value.s.len = src->value.s.len;
|
||||||
pnew->value.s.v = strdup(src->value.s.v);
|
pnew->value.s.v = src->value.s.v ? strdup(src->value.s.v) : (char*)calloc(1,1);
|
||||||
if(!pnew->value.s.v){
|
if(!pnew->value.s.v){
|
||||||
mosquitto_property_free_all(dest);
|
mosquitto_property_free_all(dest);
|
||||||
return MOSQ_ERR_NOMEM;
|
return MOSQ_ERR_NOMEM;
|
||||||
}
|
}
|
||||||
|
|
||||||
pnew->name.len = src->name.len;
|
pnew->name.len = src->name.len;
|
||||||
pnew->name.v = strdup(src->name.v);
|
pnew->name.v = src->name.v ? strdup(src->name.v) : (char*)calloc(1,1);
|
||||||
if(!pnew->name.v){
|
if(!pnew->name.v){
|
||||||
mosquitto_property_free_all(dest);
|
mosquitto_property_free_all(dest);
|
||||||
return MOSQ_ERR_NOMEM;
|
return MOSQ_ERR_NOMEM;
|
||||||
|
Loading…
Reference in New Issue
Block a user