diff options
author | David Kalnischkies <david@kalnischkies.de> | 2015-03-10 14:11:54 +0100 |
---|---|---|
committer | David Kalnischkies <david@kalnischkies.de> | 2015-04-10 20:18:17 +0200 |
commit | b8eba208daebe3e3f235983e44da9c398d6f7a57 (patch) | |
tree | 5bbd9a87c1a9a5b41f7484f775c30e756e6ab29f /methods | |
parent | 249aec3b7397662a678ea0014f94392085477b09 (diff) |
reimplement the last uses of sprintf
Working with strings c-style is complicated and error-prune,
so by converting to c++ style we gain some simplicity and
avoid buffer overflows by later extensions.
Git-Dch: Ignore
Diffstat (limited to 'methods')
-rw-r--r-- | methods/ftp.cc | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/methods/ftp.cc b/methods/ftp.cc index 0504e5872..7764acf6a 100644 --- a/methods/ftp.cc +++ b/methods/ftp.cc @@ -259,19 +259,21 @@ bool FTPConn::Login() { if (Opts->Value.empty() == true) continue; - + // Substitute the variables into the command - char SitePort[20]; - if (ServerName.Port != 0) - sprintf(SitePort,"%u",ServerName.Port); - else - strcpy(SitePort,"21"); string Tmp = Opts->Value; Tmp = SubstVar(Tmp,"$(PROXY_USER)",Proxy.User); Tmp = SubstVar(Tmp,"$(PROXY_PASS)",Proxy.Password); Tmp = SubstVar(Tmp,"$(SITE_USER)",User); Tmp = SubstVar(Tmp,"$(SITE_PASS)",Pass); - Tmp = SubstVar(Tmp,"$(SITE_PORT)",SitePort); + if (ServerName.Port != 0) + { + std::string SitePort; + strprintf(SitePort, "%u", ServerName.Port); + Tmp = SubstVar(Tmp,"$(SITE_PORT)", SitePort); + } + else + Tmp = SubstVar(Tmp,"$(SITE_PORT)", "21"); Tmp = SubstVar(Tmp,"$(SITE)",ServerName.Host); // Send the command |