diff mbox series

edid: silence a stringop-overflow warning

Message ID 20181110111623.31356-1-marcandre.lureau@redhat.com
State New
Headers show
Series edid: silence a stringop-overflow warning | expand

Commit Message

Marc-André Lureau Nov. 10, 2018, 11:16 a.m. UTC
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(-)

Comments

Markus Armbruster Nov. 12, 2018, 9:19 a.m. UTC | #1
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>
Gerd Hoffmann Nov. 12, 2018, 1:14 p.m. UTC | #2
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 mbox series

Patch

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';
 }