fputs("\"node\":", f);
fputs_quoted_json(p, f);
nvars++;
+ free(p);
}
if (fdisk_partition_has_start(pa)) {
if (p) {
DBG(SCRIPT, ul_debugobj(dp, "write %s entry", p));
fprintf(f, "%s :", p);
+ free(p);
} else
fprintf(f, "%zu :", pa->partno + 1);
} else if (!strncasecmp(p, "attrs=", 6)) {
p += 6;
+ free(pa->attrs);
rc = next_string(&p, &pa->attrs);
} else if (!strncasecmp(p, "uuid=", 5)) {
p += 5;
+ free(pa->uuid);
rc = next_string(&p, &pa->uuid);
} else if (!strncasecmp(p, "name=", 5)) {
p += 5;
+ free(pa->name);
rc = next_string(&p, &pa->name);
if (!rc)
unhexmangle_string(pa->name);
static int parse_line_valcommas(struct fdisk_script *dp, char *s)
{
int rc = 0;
- char *p = s, *str;
+ char *p = s;
struct fdisk_partition *pa;
enum { ITEM_START, ITEM_SIZE, ITEM_TYPE, ITEM_BOOTABLE };
int item = -1;
}
break;
case ITEM_TYPE:
+ {
+ char *str = NULL;
+
if (*p == ',' || *p == ';' || alone_sign(sign, p))
break; /* use default type */
if (!pa->type)
rc = -EINVAL;
break;
+ }
case ITEM_BOOTABLE:
if (*p == ',' || *p == ';')
break;