]> git.alsa-project.org Git - alsa-lib.git/commitdiff
seq: update_group_ports - rewrite blknames update
authorJaroslav Kysela <perex@perex.cz>
Mon, 7 Apr 2025 16:45:42 +0000 (18:45 +0200)
committerJaroslav Kysela <perex@perex.cz>
Mon, 7 Apr 2025 16:46:32 +0000 (18:46 +0200)
Resolve the warning bellow and use more optimized calls.

seqmid.c: In function ‘update_group_ports’:
seqmid.c:672:45: warning: ‘%s’ directive output may be truncated writing up to 127 bytes into a region of size 61 [-Wformat-truncation=]
  672 |                                          ", %s", bp->name);
      |                                             ^~
seqmid.c:671:33: note: ‘snprintf’ output between 3 and 130 bytes into a destination of size 63
  671 |                                 snprintf(blknames + len, sizeof(blknames) - len,
      |                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  672 |                                          ", %s", bp->name);
      |                                          ~~~~~~~~~~~~~~~~~

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
src/seq/seqmid.c

index 10637f8b96a3c69337f70831287c85ad6dea6a54..542d92e377f29b9f5a4373fcf5ea00caf358811e 100644 (file)
@@ -632,7 +632,6 @@ static void update_group_ports(snd_seq_t *seq, snd_ump_endpoint_info_t *ep)
                char blknames[64];
                char name[64];
                unsigned int caps = 0;
-               int len;
 
                blknames[0] = 0;
                for (b = 0; b < ep->num_blocks; b++) {
@@ -664,15 +663,11 @@ static void update_group_ports(snd_seq_t *seq, snd_ump_endpoint_info_t *ep)
                                break;
                        }
 
-                       if (!*bp->name)
+                       if (bp->name[0] == '\0')
                                continue;
-                       len = strlen(blknames);
-                       if (len)
-                               snprintf(blknames + len, sizeof(blknames) - len,
-                                        ", %s", bp->name);
-                       else
-                               snd_strlcpy(blknames, (const char *)bp->name,
-                                           sizeof(blknames));
+                       if (blknames[0])
+                               snd_strlcpy(blknames, ", ", sizeof(blknames));
+                       snd_strlcpy(blknames, (const char *)bp->name, sizeof(blknames));
                }
 
                if (!*blknames)