On Wednesday, 19 April 2017 18:47:11 CEST Richard W.M. Jones wrote:
 GCC 7 complains that the fixed size buffers are not large enough
 (at least in theory) when using ‘-O3 -mtune=broadwell’.
 ---
  daemon/devsparts.c | 16 +++++++++++-----
  1 file changed, 11 insertions(+), 5 deletions(-)
 
 diff --git a/daemon/devsparts.c b/daemon/devsparts.c
 index 584e7d8b8..eac79197e 100644
 --- a/daemon/devsparts.c
 +++ b/daemon/devsparts.c
 @@ -125,13 +125,16 @@ foreach_block_device (block_dev_func_t func, bool return_md)
  static int
  add_device (const char *device, struct stringsbuf *r)
  {
 -  char dev_path[256];
 -  snprintf (dev_path, sizeof dev_path, "/dev/%s", device);
 +  CLEANUP_FREE char *dev_path; 
Please init it to NULL, so it is not a problem in case new code is
added between this and what follows.  OTOH ...
  
 -  if (add_string (r, dev_path) == -1) {
 +  if (asprintf (&dev_path, "/dev/%s", device) == -1) {
 +    reply_with_perror ("asprintf");
      return -1;
    }
  
 +  if (add_string (r, dev_path) == -1)
 +    return -1; 
... this could be add_string_nodup, handing over the dev_path string
to the stringbuf, and thus removing one memory allocation.
 +
    return 0;
  }
  
 @@ -153,10 +156,13 @@ do_list_devices (void)
  static int
  add_partitions (const char *device, struct stringsbuf *r)
  {
 -  char devdir[256];
 +  CLEANUP_FREE char *devdir; 
Same note here about the initialization to NULL.
Thanks,
-- 
Pino Toscano