From 942f7f37afd8bdd66d724003059226b422a81be7 Mon Sep 17 00:00:00 2001 From: adjoly Date: Fri, 30 May 2025 16:39:32 +0200 Subject: [PATCH] =?UTF-8?q?=E3=80=8C=F0=9F=94=A8=E3=80=8D=20fix:=20fixed?= =?UTF-8?q?=20sus=20leak?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../requestImplementation/Get.cpp | 26 +++++++++++-------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/src/requests_handling/requestImplementation/Get.cpp b/src/requests_handling/requestImplementation/Get.cpp index 0caf11c..743b5ab 100644 --- a/src/requests_handling/requestImplementation/Get.cpp +++ b/src/requests_handling/requestImplementation/Get.cpp @@ -6,7 +6,7 @@ /* By: adjoly +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2025/04/30 09:40:16 by adjoly #+# #+# */ -/* Updated: 2025/05/30 16:22:24 by adjoly ### ########.fr */ +/* Updated: 2025/05/30 16:39:08 by adjoly ### ########.fr */ /* */ /* ************************************************************************** */ @@ -34,7 +34,10 @@ Get::Get(std::string &data, config::Server *srv) { this->parse(data); } -Get::~Get(void) {} +Get::~Get(void) { + if (_url != not_nullptr) + delete _url; +} void Get::parse(std::string const &data) { std::istringstream stream(data); @@ -79,6 +82,7 @@ void Get::parse(std::string const &data) { } catch (std::exception &e) { _log->error(e.what()); _method = "500"; + delete _url; return; } server::ResourceManager::append(_cgi); @@ -139,8 +143,8 @@ Response Get::execute(void) { server::PfdManager::remove(_cgi->getId()); server::ResourceManager::remove(_cgi->getId()); _cgi = not_nullptr; - if (_url != not_nullptr) - delete _url; + // if (_url != not_nullptr) + // delete _url; return response; } std::string str = static_cast(_cgi)->str(); @@ -149,8 +153,8 @@ Response Get::execute(void) { server::PfdManager::remove(_cgi->getId()); server::ResourceManager::remove(_cgi->getId()); _cgi = not_nullptr; - if (_url != not_nullptr) - delete _url; + // if (_url != not_nullptr) + // delete _url; return response; } @@ -182,8 +186,8 @@ Response Get::execute(void) { std::vector files; if ((dir = opendir(this->_target.c_str())) == NULL) { - if (_url != not_nullptr) - delete _url; + // if (_url != not_nullptr) + // delete _url; throw; } while ((entry = readdir(dir)) != NULL) { @@ -240,8 +244,8 @@ body {\n\ response.addHeader("Content-Type", "text/html"); response.setBody(body); } else { - if (_url != not_nullptr) - delete _url; + // if (_url != not_nullptr) + // delete _url; throw std::runtime_error("dir but no dirlist"); } } else { @@ -268,6 +272,6 @@ body {\n\ _srv->getErrorPage(response.getStatusCode()))); } - delete _url; + // delete _url; return (response); }