The redirect URI is untrusted input so strnvis it first before printing it.
-- :wq Claudio Index: fetch.c =================================================================== RCS file: /cvs/src/usr.bin/ftp/fetch.c,v retrieving revision 1.210 diff -u -p -r1.210 fetch.c --- fetch.c 15 Sep 2022 12:47:10 -0000 1.210 +++ fetch.c 9 Nov 2022 15:29:37 -0000 @@ -949,8 +950,11 @@ noslash: loctail = strchr(redirurl, '#'); if (loctail != NULL) *loctail = '\0'; - if (verbose) - fprintf(ttyout, "Redirected to %s\n", redirurl); + if (verbose) { + strnvis(gerror, redirurl, sizeof gerror, + VIS_SAFE); + fprintf(ttyout, "Redirected to %s\n", gerror); + } ftp_close(&fin, &tls, &fd); rval = url_get(redirurl, proxyenv, savefile, lastfile); free(redirurl);