diff options
Diffstat (limited to 'sys/geom/nop/g_nop.c')
-rw-r--r-- | sys/geom/nop/g_nop.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/sys/geom/nop/g_nop.c b/sys/geom/nop/g_nop.c index ffa32e3..9846942 100644 --- a/sys/geom/nop/g_nop.c +++ b/sys/geom/nop/g_nop.c @@ -176,6 +176,11 @@ g_nop_create(struct gctl_req *req, struct g_class *mp, struct g_provider *pp, gctl_error(req, "Invalid secsize for provider %s.", pp->name); return (EINVAL); } + if (secsize > MAXPHYS) { + gctl_error(req, "secsize is too big."); + return (EINVAL); + } + size -= size % secsize; snprintf(name, sizeof(name), "%s%s", pp->name, G_NOP_SUFFIX); LIST_FOREACH(gp, &mp->geom, geom) { if (strcmp(gp->name, name) == 0) { |