2014-07-26 14:06:23

by Rickard Strandqvist

[permalink] [raw]
Subject: [PATCH] block: bsg.c: Cleaning up missing null-terminate in conjunction with strncpy

Replacing strncpy with strlcpy to avoid strings that lacks null terminate.

Signed-off-by: Rickard Strandqvist <[email protected]>
---
block/bsg.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/block/bsg.c b/block/bsg.c
index ff46add..b2688c5 100644
--- a/block/bsg.c
+++ b/block/bsg.c
@@ -790,7 +790,7 @@ static struct bsg_device *bsg_add_device(struct inode *inode,
mutex_lock(&bsg_mutex);
hlist_add_head(&bd->dev_list, bsg_dev_idx_hash(iminor(inode)));

- strncpy(bd->name, dev_name(rq->bsg_dev.class_dev), sizeof(bd->name) - 1);
+ strlcpy(bd->name, dev_name(rq->bsg_dev.class_dev), sizeof(bd->name));
dprintk("bound to <%s>, max queue %d\n",
format_dev_t(buf, inode->i_rdev), bd->max_queue);

--
1.7.10.4


2014-07-28 14:31:37

by Jeff Moyer

[permalink] [raw]
Subject: Re: [PATCH] block: bsg.c: Cleaning up missing null-terminate in conjunction with strncpy

Rickard Strandqvist <[email protected]> writes:

> Replacing strncpy with strlcpy to avoid strings that lacks null terminate.
>
> Signed-off-by: Rickard Strandqvist <[email protected]>
> ---
> block/bsg.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/block/bsg.c b/block/bsg.c
> index ff46add..b2688c5 100644
> --- a/block/bsg.c
> +++ b/block/bsg.c
> @@ -790,7 +790,7 @@ static struct bsg_device *bsg_add_device(struct inode *inode,
> mutex_lock(&bsg_mutex);
> hlist_add_head(&bd->dev_list, bsg_dev_idx_hash(iminor(inode)));
>
> - strncpy(bd->name, dev_name(rq->bsg_dev.class_dev), sizeof(bd->name) - 1);
> + strlcpy(bd->name, dev_name(rq->bsg_dev.class_dev), sizeof(bd->name));
> dprintk("bound to <%s>, max queue %d\n",
> format_dev_t(buf, inode->i_rdev), bd->max_queue);

NACK

The bsg data structure is allocated using kzalloc, so that last byte
will be zero.

2014-07-29 19:09:24

by Rickard Strandqvist

[permalink] [raw]
Subject: Re: [PATCH] block: bsg.c: Cleaning up missing null-terminate in conjunction with strncpy

2014-07-28 16:31 GMT+02:00 Jeff Moyer <[email protected]>:
> Rickard Strandqvist <[email protected]> writes:
>
>> Replacing strncpy with strlcpy to avoid strings that lacks null terminate.
>>
>> Signed-off-by: Rickard Strandqvist <[email protected]>
>> ---
>> block/bsg.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/block/bsg.c b/block/bsg.c
>> index ff46add..b2688c5 100644
>> --- a/block/bsg.c
>> +++ b/block/bsg.c
>> @@ -790,7 +790,7 @@ static struct bsg_device *bsg_add_device(struct inode *inode,
>> mutex_lock(&bsg_mutex);
>> hlist_add_head(&bd->dev_list, bsg_dev_idx_hash(iminor(inode)));
>>
>> - strncpy(bd->name, dev_name(rq->bsg_dev.class_dev), sizeof(bd->name) - 1);
>> + strlcpy(bd->name, dev_name(rq->bsg_dev.class_dev), sizeof(bd->name));
>> dprintk("bound to <%s>, max queue %d\n",
>> format_dev_t(buf, inode->i_rdev), bd->max_queue);
>
> NACK
>
> The bsg data structure is allocated using kzalloc, so that last byte
> will be zero.

Hi

Sorry.. I did not know bsg_alloc_device used kzalloc, right then
everything should be ok.

Kind regards
Rickard Strandqvist