On Sat, Mar 07, 2020 at 12:06:04AM +0100, mwilck@xxxxxxxx wrote: > From: Martin Wilck <mwilck@xxxxxxxx> > > 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 <bmarzins@xxxxxxxxxx> > Signed-off-by: Martin Wilck <mwilck@xxxxxxxx> > --- > 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@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel