* 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/

Attachment: pgpiTKtTnUUyN.pgp
Description: PGP signature

Reply via email to