From 0f7ea99605298469eb13508204fd5dba87ea134f Mon Sep 17 00:00:00 2001 From: James Prestwood Date: Fri, 7 Jan 2022 16:13:28 -0800 Subject: [PATCH] dpp: don't allocate transient ssid strings These can be kept on the stack and avoid the need for allocated memory and unneeded auto-free functionality. --- src/dpp.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/dpp.c b/src/dpp.c index 20c27a57..61c6b36d 100644 --- a/src/dpp.c +++ b/src/dpp.c @@ -400,7 +400,7 @@ static void send_config_result(struct dpp_sm *dpp, const uint8_t *to) static void dpp_write_config(struct dpp_configuration *config, struct network *network) { - _auto_(l_free) char *ssid = l_malloc(config->ssid_len + 1); + char ssid[33]; _auto_(l_settings_free) struct l_settings *settings = l_settings_new(); _auto_(l_free) char *path; _auto_(l_free) uint8_t *psk = NULL; @@ -494,7 +494,7 @@ static void dpp_handle_config_response_frame(const struct mmpdu_header *frame, struct station *station = station_find(netdev_get_ifindex(dpp->netdev)); struct network *network; struct scan_bss *bss = NULL; - _auto_(l_free) char *ssid = NULL; + char ssid[33]; if (dpp->state != DPP_STATE_CONFIGURING) return; @@ -618,7 +618,6 @@ static void dpp_handle_config_response_frame(const struct mmpdu_header *frame, return; } - ssid = l_malloc(config->ssid_len + 1); memcpy(ssid, config->ssid, config->ssid_len); ssid[config->ssid_len] = '\0';