Mercurial > hg > orthanc-databases
diff Framework/MySQL/MySQLParameters.cpp @ 23:b2ff1cd2907a
handling of implicit transactions in DatabaseManager
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Thu, 12 Jul 2018 10:44:17 +0200 |
parents | 1e9bad493475 |
children | 6a574d810b98 |
line wrap: on
line diff
--- a/Framework/MySQL/MySQLParameters.cpp Wed Jul 11 14:39:59 2018 +0200 +++ b/Framework/MySQL/MySQLParameters.cpp Thu Jul 12 10:44:17 2018 +0200 @@ -104,6 +104,22 @@ void MySQLParameters::SetDatabase(const std::string& database) { + if (database.empty()) + { + LOG(ERROR) << "Empty database name"; + throw Orthanc::OrthancException(Orthanc::ErrorCode_ParameterOutOfRange); + } + + for (size_t i = 0; i < database.length(); i++) + { + if (!isalnum(database [i])) + { + LOG(ERROR) << "Only alphanumeric characters are allowed in a " + << "MySQL database name: \"" << database << "\""; + throw Orthanc::OrthancException(Orthanc::ErrorCode_ParameterOutOfRange); + } + } + database_ = database; }