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: Rickard Strandqvist <rickard_strandqvist@spectrumdigital.se>
Reviewed-by: Jason Cooper <jason@lakedaemon.net>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
这个提交包含在:
Rickard Strandqvist
2014-10-16 23:17:23 +02:00
提交者 Herbert Xu
父节点 77ddaba02b
当前提交 61daf055ea

查看文件

@@ -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,