P2P: Reorder code to avoid memory leak on error path
This commit is contained in:
		
							parent
							
								
									d25f7212da
								
							
						
					
					
						commit
						79222cfa61
					
				
					 1 changed files with 7 additions and 7 deletions
				
			
		|  | @ -1309,13 +1309,6 @@ static void wpas_sd_req_upnp(struct wpa_supplicant *wpa_s, | ||||||
| 		return; | 		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) | 	if (wpabuf_tailroom(resp) < 5) | ||||||
| 		return; | 		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, P2P_SERV_UPNP); | ||||||
| 	wpabuf_put_u8(resp, srv_trans_id); | 	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, | 	dl_list_for_each(usrv, &wpa_s->global->p2p_srv_upnp, | ||||||
| 			 struct p2p_srv_upnp, list) { | 			 struct p2p_srv_upnp, list) { | ||||||
| 		if (version != usrv->version) | 		if (version != usrv->version) | ||||||
|  |  | ||||||
		Loading…
	
		Reference in a new issue
	
	 Jouni Malinen
						Jouni Malinen