On 2019-08-16 08:42:01 [+0200], Daniel Wagner wrote: > Increase the size of the char buffer. gcc 9.1.1 reports: > > src/pmqtest/pmqtest.c: In function ‘main’: > src/pmqtest/pmqtest.c:46:21: warning: ‘%d’ directive writing between 1 and 10 bytes into a region of size 8 [-Wformat-overflow=] > 46 | #define SYNCMQ_NAME "/syncmsg%d" > | ^~~~~~~~~~~~ > > src/pmqtest/pmqtest.c:445:3: note: ‘sprintf’ output between 10 and 19 bytes into a destination of size 16 > 445 | sprintf(mqname, SYNCMQ_NAME, i); > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > Signed-off-by: Daniel Wagner <wagi@xxxxxxxxx> > --- > src/pmqtest/pmqtest.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/src/pmqtest/pmqtest.c b/src/pmqtest/pmqtest.c > index a04fc49872bf..20164c8d547f 100644 > --- a/src/pmqtest/pmqtest.c > +++ b/src/pmqtest/pmqtest.c > @@ -440,7 +440,7 @@ int main(int argc, char *argv[]) > goto nomem; > > for (i = 0; i < num_threads; i++) { > - char mqname[16]; > + char mqname[32]; The compiler says, based on SYNCMQ_NAME's size and maximum possible %d we will have 19 bytes max. Why do you change it to 32? Why it is not wrong, one might ask what the extra storage is for. Sebastian