Avoid compile error.

"a label can only be part of a statement and a declaration is not a
statement"
pull/2558/merge
Roger A. Light 3 years ago
parent 87cb3250cd
commit 9bb389dda1

@ -84,27 +84,29 @@ static char *properties_to_json(const mosquitto_property *properties)
break; break;
case MQTT_PROP_CORRELATION_DATA: case MQTT_PROP_CORRELATION_DATA:
/* bin */ {
void *binval = NULL; /* bin */
mosquitto_property_read_binary(properties, propid, &binval, &len, false); void *binval = NULL;
char *hexval = malloc(2*(size_t)len + 1); mosquitto_property_read_binary(properties, propid, &binval, &len, false);
if(!hexval){ char *hexval = malloc(2*(size_t)len + 1);
if(!hexval){
free(binval);
cJSON_Delete(array);
return NULL;
}
for(int i=0; i<len; i++){
sprintf(&hexval[i*2], "%02X", ((uint8_t *)binval)[i]);
}
hexval[2*len] = '\0';
free(binval); free(binval);
cJSON_Delete(array);
return NULL;
}
for(int i=0; i<len; i++){
sprintf(&hexval[i*2], "%02X", ((uint8_t *)binval)[i]);
}
hexval[2*len] = '\0';
free(binval);
if(cJSON_AddStringToObject(obj, "value", hexval) == NULL){ if(cJSON_AddStringToObject(obj, "value", hexval) == NULL){
free(hexval);
cJSON_Delete(array);
return NULL;
}
free(hexval); free(hexval);
cJSON_Delete(array);
return NULL;
} }
free(hexval);
break; break;
case MQTT_PROP_USER_PROPERTY: case MQTT_PROP_USER_PROPERTY:

Loading…
Cancel
Save