ret = snprintf(cntl_value->value,
sizeof(cntl_value->value), "%" PRId64, value);
- if (ret >= sizeof(cntl_value->value))
+ if (ret >= sizeof(cntl_value->value)) {
+ free(cntl_value);
return ECGINVAL;
+ }
controller->values[controller->index] = cntl_value;
controller->index++;
ret = snprintf(cntl_value->value, sizeof(cntl_value->value),
"%" PRIu64, value);
- if (ret >= sizeof(cntl_value->value))
+ if (ret >= sizeof(cntl_value->value)) {
+ free(cntl_value);
return ECGINVAL;
+ }
controller->values[controller->index] = cntl_value;
controller->index++;
ret = snprintf(cntl_value->value,
sizeof(cntl_value->value), "0");
- if (ret >= sizeof(cntl_value->value))
+ if (ret >= sizeof(cntl_value->value)) {
+ free(cntl_value);
return ECGINVAL;
+ }
controller->values[controller->index] = cntl_value;
controller->index++;