Commit 61daf055 authored by Rickard Strandqvist's avatar Rickard Strandqvist Committed by Herbert Xu

hwrng: core - Changed from using strncat to strlcat

The buf is used to hold the list of hwrng devices registered.
The old code ensures we don't walk off the end of buf as we
fill it, but it's unnecessarily complicated and thus difficult
to maintain. Simplify it by using strlcat.
Signed-off-by: default avatarRickard Strandqvist <rickard_strandqvist@spectrumdigital.se>
Reviewed-by: default avatarJason Cooper <jason@lakedaemon.net>
Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
parent 77ddaba0
...@@ -281,7 +281,6 @@ static ssize_t hwrng_attr_available_show(struct device *dev, ...@@ -281,7 +281,6 @@ static ssize_t hwrng_attr_available_show(struct device *dev,
char *buf) char *buf)
{ {
int err; int err;
ssize_t ret = 0;
struct hwrng *rng; struct hwrng *rng;
err = mutex_lock_interruptible(&rng_mutex); err = mutex_lock_interruptible(&rng_mutex);
...@@ -289,16 +288,13 @@ static ssize_t hwrng_attr_available_show(struct device *dev, ...@@ -289,16 +288,13 @@ static ssize_t hwrng_attr_available_show(struct device *dev,
return -ERESTARTSYS; return -ERESTARTSYS;
buf[0] = '\0'; buf[0] = '\0';
list_for_each_entry(rng, &rng_list, list) { list_for_each_entry(rng, &rng_list, list) {
strncat(buf, rng->name, PAGE_SIZE - ret - 1); strlcat(buf, rng->name, PAGE_SIZE);
ret += strlen(rng->name); strlcat(buf, " ", PAGE_SIZE);
strncat(buf, " ", PAGE_SIZE - ret - 1);
ret++;
} }
strncat(buf, "\n", PAGE_SIZE - ret - 1); strlcat(buf, "\n", PAGE_SIZE);
ret++;
mutex_unlock(&rng_mutex); mutex_unlock(&rng_mutex);
return ret; return strlen(buf);
} }
static DEVICE_ATTR(rng_current, S_IRUGO | S_IWUSR, static DEVICE_ATTR(rng_current, S_IRUGO | S_IWUSR,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment