public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] char: hw_random: core.c:  Changed from using strncpy to strlcpy
@ 2014-10-11 22:36 Rickard Strandqvist
  2014-10-12  0:27 ` Mark D Rustad
  0 siblings, 1 reply; 5+ messages in thread
From: Rickard Strandqvist @ 2014-10-11 22:36 UTC (permalink / raw)
  To: Matt Mackall, Herbert Xu
  Cc: Rickard Strandqvist, Torsten Duwe, Theodore Ts'o,
	Jason Cooper, Amit Shah, Stephen Boyd, Paul Gortmaker, Kees Cook,
	Dan Carpenter, linux-kernel

Changed from using strncpy to strlcpy to simplify the code

Signed-off-by: Rickard Strandqvist <rickard_strandqvist@spectrumdigital.se>
---
 drivers/char/hw_random/core.c |   12 ++++--------
 1 file changed, 4 insertions(+), 8 deletions(-)

diff --git a/drivers/char/hw_random/core.c b/drivers/char/hw_random/core.c
index aa30a25..1500cfd 100644
--- a/drivers/char/hw_random/core.c
+++ b/drivers/char/hw_random/core.c
@@ -281,7 +281,6 @@ static ssize_t hwrng_attr_available_show(struct device *dev,
 					 char *buf)
 {
 	int err;
-	ssize_t ret = 0;
 	struct hwrng *rng;
 
 	err = mutex_lock_interruptible(&rng_mutex);
@@ -289,16 +288,13 @@ static ssize_t hwrng_attr_available_show(struct device *dev,
 		return -ERESTARTSYS;
 	buf[0] = '\0';
 	list_for_each_entry(rng, &rng_list, list) {
-		strncat(buf, rng->name, PAGE_SIZE - ret - 1);
-		ret += strlen(rng->name);
-		strncat(buf, " ", PAGE_SIZE - ret - 1);
-		ret++;
+		strlcat(buf, rng->name, PAGE_SIZE);
+		strlcat(buf, " ", PAGE_SIZE);
 	}
-	strncat(buf, "\n", PAGE_SIZE - ret - 1);
-	ret++;
+	strlcat(buf, "\n", PAGE_SIZE);
 	mutex_unlock(&rng_mutex);
 
-	return ret;
+	return strlen(buf);
 }
 
 static DEVICE_ATTR(rng_current, S_IRUGO | S_IWUSR,
-- 
1.7.10.4


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH] char: hw_random: core.c:  Changed from using strncpy to strlcpy
  2014-10-11 22:36 [PATCH] char: hw_random: core.c: Changed from using strncpy to strlcpy Rickard Strandqvist
@ 2014-10-12  0:27 ` Mark D Rustad
  2014-10-12  2:11   ` Guenter Roeck
  2014-10-12 10:32   ` Rickard Strandqvist
  0 siblings, 2 replies; 5+ messages in thread
From: Mark D Rustad @ 2014-10-12  0:27 UTC (permalink / raw)
  To: Rickard Strandqvist
  Cc: Matt Mackall, Herbert Xu, Torsten Duwe, Theodore Ts'o,
	Jason Cooper, Amit Shah, Stephen Boyd, Paul Gortmaker, Kees Cook,
	Dan Carpenter, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 1520 bytes --]

On Oct 11, 2014, at 3:36 PM, Rickard Strandqvist <rickard_strandqvist@spectrumdigital.se> wrote:

> Changed from using strncpy to strlcpy to simplify the code

Actually you changed from using strncat to strlcat.

> Signed-off-by: Rickard Strandqvist <rickard_strandqvist@spectrumdigital.se>
> ---
> drivers/char/hw_random/core.c |   12 ++++--------
> 1 file changed, 4 insertions(+), 8 deletions(-)
> 
> diff --git a/drivers/char/hw_random/core.c b/drivers/char/hw_random/core.c
> index aa30a25..1500cfd 100644
> --- a/drivers/char/hw_random/core.c
> +++ b/drivers/char/hw_random/core.c
> @@ -281,7 +281,6 @@ static ssize_t hwrng_attr_available_show(struct device *dev,
> 					 char *buf)
> {
> 	int err;
> -	ssize_t ret = 0;
> 	struct hwrng *rng;
> 
> 	err = mutex_lock_interruptible(&rng_mutex);
> @@ -289,16 +288,13 @@ static ssize_t hwrng_attr_available_show(struct device *dev,
> 		return -ERESTARTSYS;
> 	buf[0] = '\0';
> 	list_for_each_entry(rng, &rng_list, list) {
> -		strncat(buf, rng->name, PAGE_SIZE - ret - 1);
> -		ret += strlen(rng->name);
> -		strncat(buf, " ", PAGE_SIZE - ret - 1);
> -		ret++;
> +		strlcat(buf, rng->name, PAGE_SIZE);
> +		strlcat(buf, " ", PAGE_SIZE);
> 	}
> -	strncat(buf, "\n", PAGE_SIZE - ret - 1);
> -	ret++;
> +	strlcat(buf, "\n", PAGE_SIZE);
> 	mutex_unlock(&rng_mutex);
> 
> -	return ret;
> +	return strlen(buf);
> }
> 
> static DEVICE_ATTR(rng_current, S_IRUGO | S_IWUSR,
> -- 
> 1.7.10.4

-- 
Mark Rustad, MRustad@gmail.com


[-- Attachment #2: Message signed with OpenPGP using GPGMail --]
[-- Type: application/pgp-signature, Size: 841 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] char: hw_random: core.c:  Changed from using strncpy to strlcpy
  2014-10-12  0:27 ` Mark D Rustad
@ 2014-10-12  2:11   ` Guenter Roeck
  2014-10-12  2:25     ` Guenter Roeck
  2014-10-12 10:32   ` Rickard Strandqvist
  1 sibling, 1 reply; 5+ messages in thread
From: Guenter Roeck @ 2014-10-12  2:11 UTC (permalink / raw)
  To: Mark D Rustad
  Cc: Rickard Strandqvist, Matt Mackall, Herbert Xu, Torsten Duwe,
	Theodore Ts'o, Jason Cooper, Amit Shah, Stephen Boyd,
	Paul Gortmaker, Kees Cook, Dan Carpenter, linux-kernel

On Sat, Oct 11, 2014 at 05:27:41PM -0700, Mark D Rustad wrote:
> On Oct 11, 2014, at 3:36 PM, Rickard Strandqvist <rickard_strandqvist@spectrumdigital.se> wrote:
> 
> > Changed from using strncpy to strlcpy to simplify the code
> 
> Actually you changed from using strncat to strlcat.
> 
... and changed the length parameter along the way, making the length check
overall quite worthless and introducing a _real_ problem.

Guenter

> > Signed-off-by: Rickard Strandqvist <rickard_strandqvist@spectrumdigital.se>
> > ---
> > drivers/char/hw_random/core.c |   12 ++++--------
> > 1 file changed, 4 insertions(+), 8 deletions(-)
> > 
> > diff --git a/drivers/char/hw_random/core.c b/drivers/char/hw_random/core.c
> > index aa30a25..1500cfd 100644
> > --- a/drivers/char/hw_random/core.c
> > +++ b/drivers/char/hw_random/core.c
> > @@ -281,7 +281,6 @@ static ssize_t hwrng_attr_available_show(struct device *dev,
> > 					 char *buf)
> > {
> > 	int err;
> > -	ssize_t ret = 0;
> > 	struct hwrng *rng;
> > 
> > 	err = mutex_lock_interruptible(&rng_mutex);
> > @@ -289,16 +288,13 @@ static ssize_t hwrng_attr_available_show(struct device *dev,
> > 		return -ERESTARTSYS;
> > 	buf[0] = '\0';
> > 	list_for_each_entry(rng, &rng_list, list) {
> > -		strncat(buf, rng->name, PAGE_SIZE - ret - 1);
> > -		ret += strlen(rng->name);
> > -		strncat(buf, " ", PAGE_SIZE - ret - 1);
> > -		ret++;
> > +		strlcat(buf, rng->name, PAGE_SIZE);
> > +		strlcat(buf, " ", PAGE_SIZE);
> > 	}
> > -	strncat(buf, "\n", PAGE_SIZE - ret - 1);
> > -	ret++;
> > +	strlcat(buf, "\n", PAGE_SIZE);
> > 	mutex_unlock(&rng_mutex);
> > 
> > -	return ret;
> > +	return strlen(buf);
> > }
> > 
> > static DEVICE_ATTR(rng_current, S_IRUGO | S_IWUSR,
> > -- 
> > 1.7.10.4
> 
> -- 
> Mark Rustad, MRustad@gmail.com
> 



^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] char: hw_random: core.c:  Changed from using strncpy to strlcpy
  2014-10-12  2:11   ` Guenter Roeck
@ 2014-10-12  2:25     ` Guenter Roeck
  0 siblings, 0 replies; 5+ messages in thread
From: Guenter Roeck @ 2014-10-12  2:25 UTC (permalink / raw)
  To: Mark D Rustad
  Cc: Rickard Strandqvist, Matt Mackall, Herbert Xu, Torsten Duwe,
	Theodore Ts'o, Jason Cooper, Amit Shah, Stephen Boyd,
	Paul Gortmaker, Kees Cook, Dan Carpenter, linux-kernel

On Sat, Oct 11, 2014 at 07:11:22PM -0700, Guenter Roeck wrote:
> On Sat, Oct 11, 2014 at 05:27:41PM -0700, Mark D Rustad wrote:
> > On Oct 11, 2014, at 3:36 PM, Rickard Strandqvist <rickard_strandqvist@spectrumdigital.se> wrote:
> > 
> > > Changed from using strncpy to strlcpy to simplify the code
> > 
> > Actually you changed from using strncat to strlcat.
> > 
> ... and changed the length parameter along the way, making the length check
> overall quite worthless and introducing a _real_ problem.
> 
Me talking nonsense; ignore this noise.

Guenter

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] char: hw_random: core.c: Changed from using strncpy to strlcpy
  2014-10-12  0:27 ` Mark D Rustad
  2014-10-12  2:11   ` Guenter Roeck
@ 2014-10-12 10:32   ` Rickard Strandqvist
  1 sibling, 0 replies; 5+ messages in thread
From: Rickard Strandqvist @ 2014-10-12 10:32 UTC (permalink / raw)
  To: Mark D Rustad
  Cc: Matt Mackall, Herbert Xu, Torsten Duwe, Theodore Ts'o,
	Jason Cooper, Amit Shah, Stephen Boyd, Paul Gortmaker, Kees Cook,
	Dan Carpenter, linux-kernel@vger.kernel.org

Hi

Oops, sorry.
New patch on the way!

Kind regards
Rickard Strandqvist


2014-10-12 2:27 GMT+02:00 Mark D Rustad <mrustad@gmail.com>:
> On Oct 11, 2014, at 3:36 PM, Rickard Strandqvist <rickard_strandqvist@spectrumdigital.se> wrote:
>
>> Changed from using strncpy to strlcpy to simplify the code
>
> Actually you changed from using strncat to strlcat.
>
>> Signed-off-by: Rickard Strandqvist <rickard_strandqvist@spectrumdigital.se>
>> ---
>> drivers/char/hw_random/core.c |   12 ++++--------
>> 1 file changed, 4 insertions(+), 8 deletions(-)
>>
>> diff --git a/drivers/char/hw_random/core.c b/drivers/char/hw_random/core.c
>> index aa30a25..1500cfd 100644
>> --- a/drivers/char/hw_random/core.c
>> +++ b/drivers/char/hw_random/core.c
>> @@ -281,7 +281,6 @@ static ssize_t hwrng_attr_available_show(struct device *dev,
>>                                        char *buf)
>> {
>>       int err;
>> -     ssize_t ret = 0;
>>       struct hwrng *rng;
>>
>>       err = mutex_lock_interruptible(&rng_mutex);
>> @@ -289,16 +288,13 @@ static ssize_t hwrng_attr_available_show(struct device *dev,
>>               return -ERESTARTSYS;
>>       buf[0] = '\0';
>>       list_for_each_entry(rng, &rng_list, list) {
>> -             strncat(buf, rng->name, PAGE_SIZE - ret - 1);
>> -             ret += strlen(rng->name);
>> -             strncat(buf, " ", PAGE_SIZE - ret - 1);
>> -             ret++;
>> +             strlcat(buf, rng->name, PAGE_SIZE);
>> +             strlcat(buf, " ", PAGE_SIZE);
>>       }
>> -     strncat(buf, "\n", PAGE_SIZE - ret - 1);
>> -     ret++;
>> +     strlcat(buf, "\n", PAGE_SIZE);
>>       mutex_unlock(&rng_mutex);
>>
>> -     return ret;
>> +     return strlen(buf);
>> }
>>
>> static DEVICE_ATTR(rng_current, S_IRUGO | S_IWUSR,
>> --
>> 1.7.10.4
>
> --
> Mark Rustad, MRustad@gmail.com
>

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2014-10-12 10:33 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-10-11 22:36 [PATCH] char: hw_random: core.c: Changed from using strncpy to strlcpy Rickard Strandqvist
2014-10-12  0:27 ` Mark D Rustad
2014-10-12  2:11   ` Guenter Roeck
2014-10-12  2:25     ` Guenter Roeck
2014-10-12 10:32   ` Rickard Strandqvist

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox