int ret;
u8 fsid[BTRFS_FSID_SIZE];
u8 fsid2[BTRFS_FSID_SIZE];
- char *tmp;
+ char *tmp = NULL;
+ char *rp;
+
+ rp = realpath(object, NULL);
+ if (!rp) {
+ ret = -errno;
+ goto out;
+ }
+ if (!strcmp(rp, "/")) {
+ ret = 0;
+ goto out;
+ }
tmp = malloc(strlen(object) + 5);
if (!tmp) {
out:
free(tmp);
+ free(rp);
return ret;
}
fprintf(stderr, "ERROR: property is unknown\n");
ret = 40;
goto out;
- } else if (ret) {
- fprintf(stderr, "ERROR: parse_prop reported unknown error\n");
- ret = 42;
- goto out;
}
types &= prop->types;
static int cmd_get(int argc, char **argv)
{
int ret;
- char *object;
+ char *object = NULL;
char *name = NULL;
int types = 0;
static int cmd_set(int argc, char **argv)
{
int ret;
- char *object;
- char *name;
- char *value;
+ char *object = NULL;
+ char *name = NULL;
+ char *value = NULL;
int types = 0;
if (check_argc_min(argc, 4) || check_argc_max(argc, 6))