[FFmpeg-devel] [PATCH 1/9] lavd/jack: increase buffer size for snprintf()

Anton Khirnov anton at khirnov.net
Thu Nov 25 17:04:52 EET 2021


Maximum output size with a 32-bit int is 17 bytes, or 26 with a 64-bit
int.

Silences the following gcc 10 warning:
src/libavdevice/jack.c: In function ‘audio_read_header’:
src/libavdevice/jack.c:171:45: warning: ‘snprintf’ output may be truncated before the last format character [-Wformat-truncation=]
  171 |         snprintf(str, sizeof(str), "input_%d", i + 1);
      |                                             ^
src/libavdevice/jack.c:171:9: note: ‘snprintf’ output between 8 and 17 bytes into a destination of size 16
  171 |         snprintf(str, sizeof(str), "input_%d", i + 1);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
---
 libavdevice/jack.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libavdevice/jack.c b/libavdevice/jack.c
index 31534134f3..0d5465e407 100644
--- a/libavdevice/jack.c
+++ b/libavdevice/jack.c
@@ -167,7 +167,7 @@ static int start_jack(AVFormatContext *context)
 
     /* Register JACK ports */
     for (i = 0; i < self->nports; i++) {
-        char str[16];
+        char str[32];
         snprintf(str, sizeof(str), "input_%d", i + 1);
         self->ports[i] = jack_port_register(self->client, str,
                                             JACK_DEFAULT_AUDIO_TYPE,
-- 
2.33.0



More information about the ffmpeg-devel mailing list