On Sat, Mar 07, 2020 at 12:06:04AM +0100, mwi...@suse.com wrote:
> From: Martin Wilck <mwi...@suse.com>
> 
> This changes no semantics, but it will allow changing the size of
> prin_readfd.private_buffer in a follow-up patch.
> 
Reviewed-by: Benjamin Marzinski <bmarz...@redhat.com>
> Signed-off-by: Martin Wilck <mwi...@suse.com>
> ---
>  libmpathpersist/mpath_pr_ioctl.c | 12 ++++++++----
>  1 file changed, 8 insertions(+), 4 deletions(-)
> 
> diff --git a/libmpathpersist/mpath_pr_ioctl.c 
> b/libmpathpersist/mpath_pr_ioctl.c
> index 8bf16c0d..8d8ca76f 100644
> --- a/libmpathpersist/mpath_pr_ioctl.c
> +++ b/libmpathpersist/mpath_pr_ioctl.c
> @@ -233,6 +233,8 @@ static void mpath_format_readfullstatus(struct prin_resp 
> *pr_buff)
>       uint32_t additional_length, k, tid_len_len = 0;
>       char tempbuff[MPATH_MAX_PARAM_LEN];
>       struct prin_fulldescr fdesc;
> +     static const int pbuf_size =
> +             sizeof(pr_buff->prin_descriptor.prin_readfd.private_buffer);
>  
>       convert_be32_to_cpu(&pr_buff->prin_descriptor.prin_readfd.prgeneration);
>       
> convert_be32_to_cpu(&pr_buff->prin_descriptor.prin_readfd.number_of_descriptor);
> @@ -244,16 +246,18 @@ static void mpath_format_readfullstatus(struct 
> prin_resp *pr_buff)
>       }
>  
>       additional_length = 
> pr_buff->prin_descriptor.prin_readfd.number_of_descriptor;
> -     if (additional_length > MPATH_MAX_PARAM_LEN) {
> +     if (additional_length > pbuf_size) {
>               condlog(3, "PRIN length %u exceeds max length %d", 
> additional_length,
> -                     MPATH_MAX_PARAM_LEN);
> +                     pbuf_size);
>               return;
>       }
>  
>       memset(&fdesc, 0, sizeof(struct prin_fulldescr));
>  
> -     memcpy( tempbuff, 
> pr_buff->prin_descriptor.prin_readfd.private_buffer,MPATH_MAX_PARAM_LEN );
> -     memset(&pr_buff->prin_descriptor.prin_readfd.private_buffer, 0, 
> MPATH_MAX_PARAM_LEN);
> +     memcpy( tempbuff, pr_buff->prin_descriptor.prin_readfd.private_buffer,
> +             pbuf_size);
> +     memset(&pr_buff->prin_descriptor.prin_readfd.private_buffer, 0,
> +            pbuf_size);
>  
>       p =(unsigned char *)tempbuff;
>       ppbuff = (char *)pr_buff->prin_descriptor.prin_readfd.private_buffer;
> -- 
> 2.25.1

--
dm-devel mailing list
dm-devel@redhat.com
https://www.redhat.com/mailman/listinfo/dm-devel

Reply via email to