From: Jouni Malinen Date: Sun, 31 Oct 2010 10:24:21 +0000 (+0200) Subject: P2P: Reorder code to avoid memory leak on error path X-Git-Tag: hostap-1-bp~914 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=79222cfa614594ac7fc32068c209268550440bfb;p=thirdparty%2Fhostap.git P2P: Reorder code to avoid memory leak on error path --- diff --git a/wpa_supplicant/p2p_supplicant.c b/wpa_supplicant/p2p_supplicant.c index 6f074595b..1219f690c 100644 --- a/wpa_supplicant/p2p_supplicant.c +++ b/wpa_supplicant/p2p_supplicant.c @@ -1309,13 +1309,6 @@ static void wpas_sd_req_upnp(struct wpa_supplicant *wpa_s, return; } - version = query[0]; - str = os_malloc(query_len); - if (str == NULL) - return; - os_memcpy(str, query + 1, query_len - 1); - str[query_len - 1] = '\0'; - if (wpabuf_tailroom(resp) < 5) return; @@ -1324,6 +1317,13 @@ static void wpas_sd_req_upnp(struct wpa_supplicant *wpa_s, wpabuf_put_u8(resp, P2P_SERV_UPNP); wpabuf_put_u8(resp, srv_trans_id); + version = query[0]; + str = os_malloc(query_len); + if (str == NULL) + return; + os_memcpy(str, query + 1, query_len - 1); + str[query_len - 1] = '\0'; + dl_list_for_each(usrv, &wpa_s->global->p2p_srv_upnp, struct p2p_srv_upnp, list) { if (version != usrv->version)