[dm-devel] [PATCH v2] mdopen: Prevent overrunning the devname buffer when copying devnm into it for long md names.
Shaun Tancheff
shaun.tancheff at seagate.com
Thu Aug 25 07:44:14 UTC 2016
On Wed, Aug 24, 2016 at 11:10 AM, Robert LeBlanc <robert at leblancnet.us> wrote:
> Linux allows for 32 character device names. When using the maximum size device name and also
> storing "/dev/", devname needs to be 37 character long to store the complete device name.
> i.e. "/dev/md_abcdefghijklmnopqrstuvwxyz12\0"
>
> Signed-Off: Robert LeBlanc<robert at leblancnet.us>
> ---
> mdopen.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/mdopen.c b/mdopen.c
> index f818fdf..5af344b 100644
> --- a/mdopen.c
> +++ b/mdopen.c
> @@ -144,7 +144,7 @@ int create_mddev(char *dev, char *name, int autof, int trustworthy,
> struct createinfo *ci = conf_get_create_info();
> int parts;
> char *cname;
> - char devname[20];
> + char devname[37];
I think you want 38 here.
5 + 32 + '\0'.
> char devnm[32];
> char cbuf[400];
> if (chosen == NULL)
> --
> 2.9.3
>
Also a sprintf() to snprintf() cleanup might not be a bad idea ..
--
Shaun Tancheff
More information about the dm-devel
mailing list