From: Eric Biggers <ebiggers3@gmail.com>
To: Nick Desaulniers <nick.desaulniers@gmail.com>
Cc: herbert@gondor.apana.org.au, davem@davemloft.net,
linux-crypto@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] crypto: blkcipher: prefer strlcpy to strncpy
Date: Tue, 29 May 2018 09:34:00 -0700 [thread overview]
Message-ID: <20180529163400.GA166256@gmail.com> (raw)
In-Reply-To: <1527572683-26098-1-git-send-email-nick.desaulniers@gmail.com>
On Mon, May 28, 2018 at 10:44:43PM -0700, Nick Desaulniers wrote:
> Fixes stringop-truncation warnings from gcc-8.
>
> Signed-off-by: Nick Desaulniers <nick.desaulniers@gmail.com>
> ---
> crypto/ablkcipher.c | 8 ++++----
> crypto/blkcipher.c | 4 ++--
> 2 files changed, 6 insertions(+), 6 deletions(-)
>
> diff --git a/crypto/ablkcipher.c b/crypto/ablkcipher.c
> index d880a48..e38867f 100644
> --- a/crypto/ablkcipher.c
> +++ b/crypto/ablkcipher.c
> @@ -370,8 +370,8 @@ static int crypto_ablkcipher_report(struct sk_buff *skb, struct crypto_alg *alg)
> {
> struct crypto_report_blkcipher rblkcipher;
>
> - strncpy(rblkcipher.type, "ablkcipher", sizeof(rblkcipher.type));
> - strncpy(rblkcipher.geniv, alg->cra_ablkcipher.geniv ?: "<default>",
> + strlcpy(rblkcipher.type, "ablkcipher", sizeof(rblkcipher.type));
> + strlcpy(rblkcipher.geniv, alg->cra_ablkcipher.geniv ?: "<default>",
> sizeof(rblkcipher.geniv));
>
> rblkcipher.blocksize = alg->cra_blocksize;
> @@ -444,8 +444,8 @@ static int crypto_givcipher_report(struct sk_buff *skb, struct crypto_alg *alg)
> {
> struct crypto_report_blkcipher rblkcipher;
>
> - strncpy(rblkcipher.type, "givcipher", sizeof(rblkcipher.type));
> - strncpy(rblkcipher.geniv, alg->cra_ablkcipher.geniv ?: "<built-in>",
> + strlcpy(rblkcipher.type, "givcipher", sizeof(rblkcipher.type));
> + strlcpy(rblkcipher.geniv, alg->cra_ablkcipher.geniv ?: "<built-in>",
> sizeof(rblkcipher.geniv));
>
> rblkcipher.blocksize = alg->cra_blocksize;
> diff --git a/crypto/blkcipher.c b/crypto/blkcipher.c
> index 01c0d4a..ee88e48 100644
> --- a/crypto/blkcipher.c
> +++ b/crypto/blkcipher.c
> @@ -509,8 +509,8 @@ static int crypto_blkcipher_report(struct sk_buff *skb, struct crypto_alg *alg)
> {
> struct crypto_report_blkcipher rblkcipher;
>
> - strncpy(rblkcipher.type, "blkcipher", sizeof(rblkcipher.type));
> - strncpy(rblkcipher.geniv, alg->cra_blkcipher.geniv ?: "<default>",
> + strlcpy(rblkcipher.type, "blkcipher", sizeof(rblkcipher.type));
> + strlcpy(rblkcipher.geniv, alg->cra_blkcipher.geniv ?: "<default>",
> sizeof(rblkcipher.geniv));
>
> rblkcipher.blocksize = alg->cra_blocksize;
> --
> 2.7.4
>
Hi Nick, this patch is wrong. The 'struct crypto_report_blkcipher' is being
copied to userspace via netlink, so all bytes of it must be initialized.
strncpy() does this but strlcpy() does not.
I noticed that you're sending out some other patches replacing strncpy() with
strlcpy() too. Can you please double check them for this same bug?
Thanks,
- Eric
next prev parent reply other threads:[~2018-05-29 16:34 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-05-29 5:44 [PATCH] crypto: blkcipher: prefer strlcpy to strncpy Nick Desaulniers
2018-05-29 16:34 ` Eric Biggers [this message]
2018-05-30 2:03 ` Nick Desaulniers
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20180529163400.GA166256@gmail.com \
--to=ebiggers3@gmail.com \
--cc=davem@davemloft.net \
--cc=herbert@gondor.apana.org.au \
--cc=linux-crypto@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=nick.desaulniers@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.