Index: gettext-runtime/intl/log.c --- gettext-runtime/intl/log.c.orig +++ gettext-runtime/intl/log.c @@ -69,6 +69,7 @@ _nl_log_untranslated_locked (const char *logfilename, { FILE *logfile; const char *separator; + size_t len; /* Can we reuse the last opened logfile? */ if (last_logfilename == NULL || strcmp (logfilename, last_logfilename) != 0) @@ -85,10 +86,11 @@ _nl_log_untranslated_locked (const char *logfilename, last_logfilename = NULL; } /* Open the logfile. */ - last_logfilename = (char *) malloc (strlen (logfilename) + 1); + len = strlen (logfilename) + 1; + last_logfilename = (char *) malloc (len); if (last_logfilename == NULL) return; - strcpy (last_logfilename, logfilename); + strlcpy (last_logfilename, logfilename, len); last_logfile = fopen (logfilename, "a"); if (last_logfile == NULL) return;