Re: [PATCH] s390: ensure NUL termination by strncpy()

From: Heiko Carstens
Date: Mon Nov 16 2009 - 16:13:36 EST


On Mon, Nov 16, 2009 at 07:53:54PM +0100, Roel Kluin wrote:
> For a larger source string, strncpy only NUL terminates when
> the size argument is less than the size of the destination string.
>
> Signed-off-by: Roel Kluin <roel.kluin@xxxxxxxxx>
> ---
> arch/s390/kernel/ipl.c | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> Is this maybe needed?

No, kernel_nss_name as well as the data.nss.name char array within ipl_info
have the same size. So it will always fit and it is always NUL terminated.

Maybe it should be changed to a simple memcpy, like we have it at a second
place in the same file. I think that's up to Michael.

> diff --git a/arch/s390/kernel/ipl.c b/arch/s390/kernel/ipl.c
> index 4890ac6..d52fcb4 100644
> --- a/arch/s390/kernel/ipl.c
> +++ b/arch/s390/kernel/ipl.c
> @@ -1881,7 +1881,7 @@ void __init setup_ipl(void)
> break;
> case IPL_TYPE_NSS:
> strncpy(ipl_info.data.nss.name, kernel_nss_name,
> - sizeof(ipl_info.data.nss.name));
> + sizeof(ipl_info.data.nss.name) - 1);
> break;
> case IPL_TYPE_UNKNOWN:
> /* We have no info to copy */
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/