diff options
author | Jonathan Reams <jbreams@mongodb.com> | 2017-04-29 10:37:30 -0400 |
---|---|---|
committer | Jonathan Reams <jbreams@mongodb.com> | 2017-05-24 15:40:29 -0400 |
commit | 24353098bf91d2914ade05b305f3edc0cbe30c7c (patch) | |
tree | ac72c2c4a83527345f064619262935a86f9cf221 | |
parent | cd4956859881653fc7280e22ee6fa88aa5f72829 (diff) | |
download | mongo-24353098bf91d2914ade05b305f3edc0cbe30c7c.tar.gz |
SERVER-28996 SERVER-28996 Fix memory leak in MongoURI if auth fails
(cherry picked from commit cb893ef71d66bea22dd79553bd0080549f794c16)
-rw-r--r-- | src/mongo/client/mongo_uri_connect.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/mongo/client/mongo_uri_connect.cpp b/src/mongo/client/mongo_uri_connect.cpp index ff9c048b610..cdb4766fb69 100644 --- a/src/mongo/client/mongo_uri_connect.cpp +++ b/src/mongo/client/mongo_uri_connect.cpp @@ -162,15 +162,15 @@ BSONObj MongoURI::_makeAuthObjFromOptions(int maxWireVersion) const { } DBClientBase* MongoURI::connect(std::string& errmsg, double socketTimeout) const { - auto ret = _connectString.connect(errmsg, socketTimeout); + auto ret = std::unique_ptr<DBClientBase>(_connectString.connect(errmsg, socketTimeout)); if (!ret) { - return ret; + return nullptr; } if (!_user.empty()) { ret->auth(_makeAuthObjFromOptions(ret->getMaxWireVersion())); } - return ret; + return ret.release(); } } // namespace mongo |