On Wed, Aug 01, 2018 at 01:33:04PM -0300, Marcelo Ricardo Leitner wrote: > I'm getting: > nagle_snd.c: In function ‘main’: > nagle_snd.c:275:3: warning: ‘strncpy’ output truncated before terminating nul copying 10 bytes from a string of the same length [-Wstringop-truncation] > strncpy(message+i, "1234567890", 10); > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > Turns out the code is doing that on purpose. To silence it, lets use > memcpy() instead. > > Signed-off-by: Marcelo Ricardo Leitner <marcelo.leitner@xxxxxxxxx> > --- > src/apps/nagle_snd.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/src/apps/nagle_snd.c b/src/apps/nagle_snd.c > index 1fc788d56c6e4dd99e89f73c8eafc829efc76dc5..bc960cca04bbc3d8e22a1757daf5fce7b76a95ce 100644 > --- a/src/apps/nagle_snd.c > +++ b/src/apps/nagle_snd.c > @@ -272,7 +272,7 @@ main(int argc, char *argv[]) > message = test_malloc((size + 1) * sizeof(u_int8_t)); > > for(i=0; i + 10 < size; i+= 10) > - strncpy(message+i, "1234567890", 10); > + memcpy(message+i, "1234567890", 10); Are you sure you want to do that? strncpy limits the copy operation to min(sizeof(message+i), 10), and the size of message can be specified on the command line. memcpy just copies 10 bytes blindly, possibly overruning the end of the array. I think it may be more useful here to do this: #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wstringop-truncation" ... strncpy(message+i, "1234567890", 10); #pragma GCC diagnostic pop You can wrap up those pragmas in a macro using _Pragma if you need to. Its a bit ugly, but it clearly flags the truncation as an intended side effect. Neil > strncpy(message+i, "1234567890", size-i); > *(message+size) = 0; > > -- > 2.17.1 > > -- > To unsubscribe from this list: send the line "unsubscribe linux-sctp" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html > -- To unsubscribe from this list: send the line "unsubscribe linux-sctp" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html