| 
														
															@@ -646,6 +646,12 @@ client_get_random_intro(const ed25519_public_key_t *service_pk) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															       /* If this pick is in the ExcludeNodes list, we keep its reference so if 
														 | 
														
														 | 
														
															       /* If this pick is in the ExcludeNodes list, we keep its reference so if 
														 | 
													
												
											
												
													
														| 
														 | 
														
															        * we ever end up not being able to pick anything else and StrictNodes is 
														 | 
														
														 | 
														
															        * we ever end up not being able to pick anything else and StrictNodes is 
														 | 
													
												
											
												
													
														| 
														 | 
														
															        * unset, we'll use it. */ 
														 | 
														
														 | 
														
															        * unset, we'll use it. */ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+      if (ei_excluded) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        /* If something was already here free it. After the loop is gone we 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+         * will examine the last excluded intro point, and that's fine since 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+         * that's random anyway */ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        extend_info_free(ei_excluded); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+      } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															       ei_excluded = ei; 
														 | 
														
														 | 
														
															       ei_excluded = ei; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															       continue; 
														 | 
														
														 | 
														
															       continue; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     } 
														 | 
														
														 | 
														
															     } 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -662,6 +668,7 @@ client_get_random_intro(const ed25519_public_key_t *service_pk) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															   if (options->StrictNodes) { 
														 | 
														
														 | 
														
															   if (options->StrictNodes) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     log_warn(LD_REND, "Every introduction points are in the ExcludeNodes set " 
														 | 
														
														 | 
														
															     log_warn(LD_REND, "Every introduction points are in the ExcludeNodes set " 
														 | 
													
												
											
												
													
														| 
														 | 
														
															              "and StrictNodes is set. We can't connect."); 
														 | 
														
														 | 
														
															              "and StrictNodes is set. We can't connect."); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    extend_info_free(ei); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     ei = NULL; 
														 | 
														
														 | 
														
															     ei = NULL; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															   } 
														 | 
														
														 | 
														
															   } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 |