* Lucas Holt <l...@foolishgames.com>, 20111105 15:24: > --- src/sbin/geom/class/label/geom_label.c 2008/11/21 21:05:31 1.3 > +++ src/sbin/geom/class/label/geom_label.c 2011/11/05 14:15:23 1.4 > @@ -118,6 +118,12 @@ label_label(struct gctl_req *req) > return; > } > > + label = gctl_get_ascii(req, "arg0"); > + if (strlen(label) > 15) { > + gctl_error(req, "Label cannot exceed 15 characters"); > + return; > + } > + > /* > * Clear last sector first to spoil all components if device exists. > */ > @@ -131,7 +137,6 @@ label_label(struct gctl_req *req) > > strlcpy(md.md_magic, G_LABEL_MAGIC, sizeof(md.md_magic)); > md.md_version = G_LABEL_VERSION; > - label = gctl_get_ascii(req, "arg0"); > strlcpy(md.md_label, label, sizeof(md.md_label)); > md.md_provsize = g_get_mediasize(name); > if (md.md_provsize == 0) {
Why not simply perform the strlcpy and check whether if (strlcpy(...) >= sizeof(md.md_label) ? -- Ed Schouten <e...@80386.nl> WWW: http://80386.nl/
pgpiTKtTnUUyN.pgp
Description: PGP signature