Message ID | 20181110111623.31356-1-marcandre.lureau@redhat.com |
---|---|
State | New |
Headers | show |
Series | edid: silence a stringop-overflow warning | expand |
Marc-André Lureau <marcandre.lureau@redhat.com> writes: > Simplify the code that doesn't need strncpy() since length of string > is already computed. > > /home/elmarco/src/qemu/hw/display/edid-generate.c: In function 'edid_desc_text': > /home/elmarco/src/qemu/hw/display/edid-generate.c:168:5: error: 'strncpy' specified bound depends on the length of the source argument [-Werror=stringop-overflow=] > strncpy((char *)(desc + 5), text, len); > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > /home/elmarco/src/qemu/hw/display/edid-generate.c:164:11: note: length computed here > len = strlen(text); > ^~~~~~~~~~~~ > cc1: all warnings being treated as errors > > Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> > --- > hw/display/edid-generate.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/hw/display/edid-generate.c b/hw/display/edid-generate.c > index bdf5e1d4d4..77d9127344 100644 > --- a/hw/display/edid-generate.c > +++ b/hw/display/edid-generate.c > @@ -165,7 +165,7 @@ static void edid_desc_text(uint8_t *desc, uint8_t type, > if (len > 12) { > len = 12; > } > - strncpy((char *)(desc + 5), text, len); > + memcpy(desc + 5, text, len); > desc[5 + len] = '\n'; > } Reviewed-by: Markus Armbruster <armbru@redhat.com>
On Sat, Nov 10, 2018 at 03:16:23PM +0400, Marc-André Lureau wrote: > Simplify the code that doesn't need strncpy() since length of string > is already computed. > > /home/elmarco/src/qemu/hw/display/edid-generate.c: In function 'edid_desc_text': > /home/elmarco/src/qemu/hw/display/edid-generate.c:168:5: error: 'strncpy' specified bound depends on the length of the source argument [-Werror=stringop-overflow=] > strncpy((char *)(desc + 5), text, len); > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > /home/elmarco/src/qemu/hw/display/edid-generate.c:164:11: note: length computed here > len = strlen(text); > ^~~~~~~~~~~~ > cc1: all warnings being treated as errors > > Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> queued for 3.1 thanks, Gerd
diff --git a/hw/display/edid-generate.c b/hw/display/edid-generate.c index bdf5e1d4d4..77d9127344 100644 --- a/hw/display/edid-generate.c +++ b/hw/display/edid-generate.c @@ -165,7 +165,7 @@ static void edid_desc_text(uint8_t *desc, uint8_t type, if (len > 12) { len = 12; } - strncpy((char *)(desc + 5), text, len); + memcpy(desc + 5, text, len); desc[5 + len] = '\n'; }
Simplify the code that doesn't need strncpy() since length of string is already computed. /home/elmarco/src/qemu/hw/display/edid-generate.c: In function 'edid_desc_text': /home/elmarco/src/qemu/hw/display/edid-generate.c:168:5: error: 'strncpy' specified bound depends on the length of the source argument [-Werror=stringop-overflow=] strncpy((char *)(desc + 5), text, len); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/elmarco/src/qemu/hw/display/edid-generate.c:164:11: note: length computed here len = strlen(text); ^~~~~~~~~~~~ cc1: all warnings being treated as errors Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> --- hw/display/edid-generate.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)