summaryrefslogtreecommitdiffstats
path: root/sbin/geom
diff options
context:
space:
mode:
Diffstat (limited to 'sbin/geom')
-rw-r--r--sbin/geom/class/part/geom_part.c16
1 files changed, 14 insertions, 2 deletions
diff --git a/sbin/geom/class/part/geom_part.c b/sbin/geom/class/part/geom_part.c
index fc179a4..db3c5e9 100644
--- a/sbin/geom/class/part/geom_part.c
+++ b/sbin/geom/class/part/geom_part.c
@@ -274,8 +274,18 @@ gpart_autofill(struct gctl_req *req)
error = geom_gettree(&mesh);
if (error)
return (error);
- cp = find_class(&mesh, gctl_get_ascii(req, "class"));
- gp = find_geom(cp, gctl_get_ascii(req, "geom"));
+ s = gctl_get_ascii(req, "class");
+ if (s == NULL)
+ abort();
+ cp = find_class(&mesh, s);
+ if (cp == NULL)
+ errx(EXIT_FAILURE, "Class %s not found.", s);
+ s = gctl_get_ascii(req, "geom");
+ if (s == NULL)
+ abort();
+ gp = find_geom(cp, s);
+ if (gp == NULL)
+ errx(EXIT_FAILURE, "No such geom: %s.", s);
first = atoll(find_geomcfg(gp, "first"));
last = atoll(find_geomcfg(gp, "last"));
grade = ~0ULL;
@@ -536,6 +546,8 @@ gpart_write_partcode(struct gctl_req *req, int idx, void *code, ssize_t size)
errx(EXIT_FAILURE, "Class %s not found.", s);
}
s = gctl_get_ascii(req, "geom");
+ if (s == NULL)
+ abort();
gp = find_geom(classp, s);
if (gp == NULL)
errx(EXIT_FAILURE, "No such geom: %s.", s);
OpenPOWER on IntegriCloud