From 92faea67b31570e84b978a77b43c8f38bdad7bd4 Mon Sep 17 00:00:00 2001 From: Sebastian Rasmussen Date: Tue, 1 Oct 2019 18:08:34 +0200 Subject: [PATCH] jbig2dec: Avoid warning by copying bytes instead of characters. --- jbig2dec/jbig2dec.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/jbig2dec/jbig2dec.c b/jbig2dec/jbig2dec.c index 39f487e..d7d0aef 100644 --- a/jbig2dec/jbig2dec.c +++ b/jbig2dec/jbig2dec.c @@ -458,6 +458,7 @@ make_output_filename(const char *input_filename, const char *extension) { char *output_filename; const char *c, *e; + int extlen; int len; if (extension == NULL) { @@ -488,16 +489,18 @@ make_output_filename(const char *input_filename, const char *extension) if (e != NULL) len -= strlen(e); + extlen = strlen(extension); + /* allocate enough space for the base + ext */ - output_filename = (char *)malloc(len + strlen(extension) + 1); + output_filename = (char *)malloc(len + extlen + 1); if (output_filename == NULL) { fprintf(stderr, "failed to allocate memory for output filename\n"); exit(1); } - strncpy(output_filename, c, len); - strncpy(output_filename + len, extension, strlen(extension)); - *(output_filename + len + strlen(extension)) = '\0'; + memcpy(output_filename, c, len); + memcpy(output_filename + len, extension, extlen); + *(output_filename + len + extlen) = '\0'; /* return the new string */ return (output_filename); -- 1.8.3.1