Message ID | 1593200057-245-3-git-send-email-charley.ashbringer@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | USB: sisusbvga: cleaning up char buffers to u8 buffer | expand |
On Fri, Jun 26, 2020 at 03:34:15PM -0400, Changming Liu wrote: > This patch changes the buffer within struct sisusb_usb_data, > namely, ibuf,obuf and font_backup > from char* to unsigned char* to avoid any related UB. > > Thia patch also changes the buffer declared in the code that gets > assigned to by these buffers from char to u8 as well. > > Signed-off-by: Changming Liu <charley.ashbringer@gmail.com> > --- > drivers/usb/misc/sisusbvga/sisusb.c | 4 ++-- > drivers/usb/misc/sisusbvga/sisusb.h | 4 ++-- > 2 files changed, 4 insertions(+), 4 deletions(-) > > diff --git a/drivers/usb/misc/sisusbvga/sisusb.c b/drivers/usb/misc/sisusbvga/sisusb.c > index 4aa717a..8878c28 100644 > --- a/drivers/usb/misc/sisusbvga/sisusb.c > +++ b/drivers/usb/misc/sisusbvga/sisusb.c > @@ -335,7 +335,7 @@ static int sisusb_send_bulk_msg(struct sisusb_usb_data *sisusb, int ep, int len, > int fromuser = (userbuffer != NULL) ? 1 : 0; > int fromkern = (kernbuffer != NULL) ? 1 : 0; > unsigned int pipe; > - char *buffer; > + u8 *buffer; > > (*bytes_written) = 0; > > @@ -454,7 +454,7 @@ static int sisusb_recv_bulk_msg(struct sisusb_usb_data *sisusb, int ep, int len, > int result = 0, retry, count = len; > int bufsize, thispass, transferred_len; > unsigned int pipe; > - char *buffer; > + u8 *buffer; > > (*bytes_read) = 0; > > diff --git a/drivers/usb/misc/sisusbvga/sisusb.h b/drivers/usb/misc/sisusbvga/sisusb.h > index c0fb9e1..8fe5d07 100644 > --- a/drivers/usb/misc/sisusbvga/sisusb.h > +++ b/drivers/usb/misc/sisusbvga/sisusb.h > @@ -109,7 +109,7 @@ struct sisusb_usb_data { > int present; /* !=0 if device is present on the bus */ > int ready; /* !=0 if device is ready for userland */ > int numobufs; /* number of obufs = number of out urbs */ > - char *obuf[NUMOBUFS], *ibuf; /* transfer buffers */ > + unsigned char *obuf[NUMOBUFS], *ibuf; /* transfer buffers */ u8 for this? > int obufsize, ibufsize; > struct urb *sisurbout[NUMOBUFS]; > struct urb *sisurbin; > @@ -140,7 +140,7 @@ struct sisusb_usb_data { > int sisusb_cursor_size_to; > int current_font_height, current_font_512; > int font_backup_size, font_backup_height, font_backup_512; > - char *font_backup; > + unsigned char *font_backup; u8 like you say you are changing in the above text? thanks, greg k-h
diff --git a/drivers/usb/misc/sisusbvga/sisusb.c b/drivers/usb/misc/sisusbvga/sisusb.c index 4aa717a..8878c28 100644 --- a/drivers/usb/misc/sisusbvga/sisusb.c +++ b/drivers/usb/misc/sisusbvga/sisusb.c @@ -335,7 +335,7 @@ static int sisusb_send_bulk_msg(struct sisusb_usb_data *sisusb, int ep, int len, int fromuser = (userbuffer != NULL) ? 1 : 0; int fromkern = (kernbuffer != NULL) ? 1 : 0; unsigned int pipe; - char *buffer; + u8 *buffer; (*bytes_written) = 0; @@ -454,7 +454,7 @@ static int sisusb_recv_bulk_msg(struct sisusb_usb_data *sisusb, int ep, int len, int result = 0, retry, count = len; int bufsize, thispass, transferred_len; unsigned int pipe; - char *buffer; + u8 *buffer; (*bytes_read) = 0; diff --git a/drivers/usb/misc/sisusbvga/sisusb.h b/drivers/usb/misc/sisusbvga/sisusb.h index c0fb9e1..8fe5d07 100644 --- a/drivers/usb/misc/sisusbvga/sisusb.h +++ b/drivers/usb/misc/sisusbvga/sisusb.h @@ -109,7 +109,7 @@ struct sisusb_usb_data { int present; /* !=0 if device is present on the bus */ int ready; /* !=0 if device is ready for userland */ int numobufs; /* number of obufs = number of out urbs */ - char *obuf[NUMOBUFS], *ibuf; /* transfer buffers */ + unsigned char *obuf[NUMOBUFS], *ibuf; /* transfer buffers */ int obufsize, ibufsize; struct urb *sisurbout[NUMOBUFS]; struct urb *sisurbin; @@ -140,7 +140,7 @@ struct sisusb_usb_data { int sisusb_cursor_size_to; int current_font_height, current_font_512; int font_backup_size, font_backup_height, font_backup_512; - char *font_backup; + unsigned char *font_backup; int font_slot; struct vc_data *sisusb_display_fg; int is_gfx;
This patch changes the buffer within struct sisusb_usb_data, namely, ibuf,obuf and font_backup from char* to unsigned char* to avoid any related UB. Thia patch also changes the buffer declared in the code that gets assigned to by these buffers from char to u8 as well. Signed-off-by: Changming Liu <charley.ashbringer@gmail.com> --- drivers/usb/misc/sisusbvga/sisusb.c | 4 ++-- drivers/usb/misc/sisusbvga/sisusb.h | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-)