if (!lor->value[j].string_val) {
for (; j >= 0; j--)
free(lor->value[j].string_val);
+ free(lor->value);
goto free_options;
}
p += strlen(lor->value[j].string_val) + 1;
*lprp = lpr;
return 1;
free_options:
- for (; i >= 0; i--) {
+ for (i--; i >= 0; i--) {
const struct lls_option *opt = cmd->options + i;
struct lls_opt_result *lor = lpr->opt_result + i;
unsigned num_vals = (opt->flags & LLS_MULTIPLE)? lor->given : 1;