[newlib-cygwin] Cygwin: utils: cygcheck: avoid GCC warning concatenating strings

Corinna Vinschen corinna@sourceware.org
Fri Aug 7 13:16:24 GMT 2020


https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=9beb7b977162bd576da325ce8e23152e70989f78

commit 9beb7b977162bd576da325ce8e23152e70989f78
Author: Corinna Vinschen <corinna@vinschen.de>
Date:   Fri Aug 7 13:30:40 2020 +0200

    Cygwin: utils: cygcheck: avoid GCC warning concatenating strings
    
    Signed-off-by: Corinna Vinschen <corinna@vinschen.de>

Diff:
---
 winsup/utils/dump_setup.cc | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/winsup/utils/dump_setup.cc b/winsup/utils/dump_setup.cc
index 4415954f9..ec70da0db 100644
--- a/winsup/utils/dump_setup.cc
+++ b/winsup/utils/dump_setup.cc
@@ -77,11 +77,15 @@ parse_filename (const char *in_fn, fileparse& f)
     else if (strcasecmp (ver, "-src") == 0 ||
 	     strcasecmp (ver, "-patch") == 0)
       {
+	size_t len;
+
 	*ver++ = '\0';
 	strcpy (f.pkg, p);
 	strcpy (f.what, strlwr (ver));
 	strcpy (f.pkgtar, p);
-	strcat (f.pkgtar, f.tail);
+	len = strlen (f.pkgtar);
+	strncpy (f.pkgtar + len, f.tail, sizeof (f.pkgtar) - len);
+	f.pkgtar[MAX_PATH] = '\0';
 	ver = strchr (ver, '\0');
 	break;
       }


More information about the Cygwin-cvs mailing list