From: Jouni Malinen Date: Fri, 18 Aug 2023 17:40:12 +0000 (+0300) Subject: P2P: Do not filter pref_freq_list if the driver does not provide one X-Git-Tag: hostap_2_11~1038 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7637d0f250539cabae74fa37da85b3b9d23c19b7;p=thirdparty%2Fhostap.git P2P: Do not filter pref_freq_list if the driver does not provide one wpa_drv_get_pref_freq_list() may fail and the 6 GHz channel removal should not be done unless the operation actually succeeded. The previous implementation ended up processing uninitialized data. This did not really result in any observable misbehavior since the result was not used, but this showed up as a failed test case when running tests with valgrind. Fixes: f0cdacacb356 ("P2P: Allow connection on 6 GHz channels if requested") Signed-off-by: Jouni Malinen --- diff --git a/wpa_supplicant/p2p_supplicant.c b/wpa_supplicant/p2p_supplicant.c index 9c6e24d6f..e60beda72 100644 --- a/wpa_supplicant/p2p_supplicant.c +++ b/wpa_supplicant/p2p_supplicant.c @@ -6263,7 +6263,7 @@ static int wpas_p2p_select_go_freq(struct wpa_supplicant *wpa_s, int freq) res = wpa_drv_get_pref_freq_list(wpa_s, WPA_IF_P2P_GO, &size, pref_freq_list); - if (!is_p2p_allow_6ghz(wpa_s->global->p2p)) + if (!res && size > 0 && !is_p2p_allow_6ghz(wpa_s->global->p2p)) size = p2p_remove_6ghz_channels(pref_freq_list, size); if (!res && size > 0) {