Skip to content

Commit ebc5acf

Browse files
author
Sebastiano Merlino
committed
Revert "Avoid memory leak due to user, pass and digested_user initialization"
This reverts commit c5405fc.
1 parent c5405fc commit ebc5acf

File tree

2 files changed

+16
-13
lines changed

2 files changed

+16
-13
lines changed

src/httpserver/webserver.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -308,7 +308,7 @@ class webserver
308308

309309
void end_request_construction(MHD_Connection* connection,
310310
struct details::modded_request* mr, const char* version,
311-
const char* method, char** user, char** pass, char** digested_user
311+
const char* method, char* user, char* pass, char* digested_user
312312
);
313313

314314
int finalize_answer(MHD_Connection* connection,

src/webserver.cpp

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -718,9 +718,9 @@ void webserver::end_request_construction(
718718
struct details::modded_request* mr,
719719
const char* version,
720720
const char* method,
721-
char** user,
722-
char** pass,
723-
char** digested_user
721+
char* user,
722+
char* pass,
723+
char* digested_user
724724
)
725725
{
726726
mr->ws = this;
@@ -752,9 +752,12 @@ void webserver::end_request_construction(
752752
mr->dhr->set_path(mr->standardized_url->c_str());
753753
mr->dhr->set_method(method);
754754

755-
if(basic_auth_enabled) *user = MHD_basic_auth_get_username_password(connection, pass);
756-
if(digest_auth_enabled) *digested_user = MHD_digest_auth_get_username(connection);
757-
755+
if(basic_auth_enabled)
756+
{
757+
user = MHD_basic_auth_get_username_password(connection, &pass);
758+
}
759+
if(digest_auth_enabled)
760+
digested_user = MHD_digest_auth_get_username(connection);
758761
mr->dhr->set_version(version);
759762
const MHD_ConnectionInfo * conninfo = MHD_get_connection_info(
760763
connection,
@@ -766,12 +769,12 @@ void webserver::end_request_construction(
766769
mr->dhr->set_requestor_port(get_port(conninfo->client_addr));
767770
if(pass != 0x0)
768771
{
769-
mr->dhr->set_pass(*pass);
770-
mr->dhr->set_user(*user);
772+
mr->dhr->set_pass(pass);
773+
mr->dhr->set_user(user);
771774
}
772775
if(digested_user != 0x0)
773776
{
774-
mr->dhr->set_digested_user(*digested_user);
777+
mr->dhr->set_digested_user(digested_user);
775778
}
776779
}
777780

@@ -950,9 +953,9 @@ int webserver::complete_request(
950953
mr,
951954
version,
952955
method,
953-
&pass,
954-
&user,
955-
&digested_user
956+
pass,
957+
user,
958+
digested_user
956959
);
957960

958961
int to_ret = finalize_answer(connection, mr, method);

0 commit comments

Comments
 (0)