From 754a15890ecb3859e34a0caa59e50b645c87be16 Mon Sep 17 00:00:00 2001 From: David Cermak Date: Wed, 30 Dec 2020 05:33:51 +0100 Subject: [PATCH] ci/test: Fix esp_http_client test not to use pointer after free --- components/esp_http_client/test/test_http_client.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/components/esp_http_client/test/test_http_client.c b/components/esp_http_client/test/test_http_client.c index 4a2f725d8c..62a3e06622 100644 --- a/components/esp_http_client/test/test_http_client.c +++ b/components/esp_http_client/test/test_http_client.c @@ -124,7 +124,10 @@ TEST_CASE("Username and password will not reset if new absolute URL doesnot spec TEST_ASSERT_EQUAL_STRING(USERNAME, value); esp_http_client_set_url(client, "http://" HOST "/get"); esp_http_client_set_username(client, value); - esp_http_client_set_password(client, value); + // esp_http_client_set_username sets new username and thus invalidates the original one + // which we still reference in the local variable `value` (better forget it) + value = NULL; + esp_http_client_set_password(client, (char *)USERNAME); // Need to cast the string literal (argument is not a const char*) //checks if username is set or not r = esp_http_client_get_username(client, &value); TEST_ASSERT_EQUAL(ESP_OK, r);