Compiler wasn't happy about strncpy() depending on the source's length and not the target's, but this whole thing can be simplified by simply using asprintf() (which is already used in this file, so no #include necessary).
run.c: In function ‘main._omp_fn.0’: run.c:964:21: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=] strncpy(out_filename, current_shader_name, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ strlen(current_shader_name) + 1); ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Signed-off-by: Eric Engestrom <eric.engest...@intel.com> --- run.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/run.c b/run.c index 200c0f4d6ffb1a2be467..43f1bf5bdd5f160e86fd 100644 --- a/run.c +++ b/run.c @@ -959,11 +959,8 @@ main(int argc, char **argv) continue; } - char *out_filename = malloc(strlen(current_shader_name) + 5); - - strncpy(out_filename, current_shader_name, - strlen(current_shader_name) + 1); - out_filename = strcat(out_filename, ".bin"); + char *out_filename; + asprintf(&out_filename, "%s.bin", current_shader_name); fp = fopen(out_filename, "wb"); fprintf(stdout, -- Cheers, Eric _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev