|  | @@ -1421,7 +1421,20 @@ rend_service_intro_has_opened(origin_circuit_t *circuit)
 | 
	
		
			
				|  |  |        log_info(LD_CIRC|LD_REND, "We have just finished an introduction "
 | 
	
		
			
				|  |  |                 "circuit, but we already have enough. Redefining purpose to "
 | 
	
		
			
				|  |  |                 "general; leaving as internal.");
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |        TO_CIRCUIT(circuit)->purpose = CIRCUIT_PURPOSE_C_GENERAL;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      {
 | 
	
		
			
				|  |  | +        rend_data_t *rend_data = circuit->rend_data;
 | 
	
		
			
				|  |  | +        circuit->rend_data = NULL;
 | 
	
		
			
				|  |  | +        rend_data_free(rend_data);
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      {
 | 
	
		
			
				|  |  | +        crypto_pk_env_t *intro_key = circuit->intro_key;
 | 
	
		
			
				|  |  | +        circuit->intro_key = NULL;
 | 
	
		
			
				|  |  | +        crypto_free_pk_env(intro_key);
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |        circuit_has_opened(circuit);
 | 
	
		
			
				|  |  |        return;
 | 
	
		
			
				|  |  |      }
 |