|  | @@ -4423,7 +4423,8 @@ routers_sort_by_identity(smartlist_t *routers)
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  /** Determine the routers that are responsible for <b>id</b> (binary) and
 | 
	
		
			
				|  |  |   * add pointers to those routers' routerstatus_t to <b>responsible_dirs</b>.
 | 
	
		
			
				|  |  | - * If we don't have a consensus, return -1, else 0. */
 | 
	
		
			
				|  |  | + * Return -1 if we're returning an empty smartlist, else return 0.
 | 
	
		
			
				|  |  | + */
 | 
	
		
			
				|  |  |  int
 | 
	
		
			
				|  |  |  hid_serv_get_responsible_directories(smartlist_t *responsible_dirs,
 | 
	
		
			
				|  |  |                                       const char *id)
 | 
	
	
		
			
				|  | @@ -4451,8 +4452,8 @@ hid_serv_get_responsible_directories(smartlist_t *responsible_dirs,
 | 
	
		
			
				|  |  |    } while (i != start);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |    /* Even though we don't have the desired number of hidden service
 | 
	
		
			
				|  |  | -   * directories, we are happy with what we got. */
 | 
	
		
			
				|  |  | -  return 0;
 | 
	
		
			
				|  |  | +   * directories, be happy if we got any. */
 | 
	
		
			
				|  |  | +  return smartlist_len(responsible_dirs) ? 0 : -1;
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  /** Return true if this node is currently acting as hidden service
 | 
	
	
		
			
				|  | @@ -4505,8 +4506,7 @@ hid_serv_responsible_for_desc_id(const char *query)
 | 
	
		
			
				|  |  |      return 0; /* This is redundant, but let's be paranoid. */
 | 
	
		
			
				|  |  |    my_id = me->cache_info.identity_digest;
 | 
	
		
			
				|  |  |    responsible = smartlist_create();
 | 
	
		
			
				|  |  | -  (int) hid_serv_get_responsible_directories(responsible, query);
 | 
	
		
			
				|  |  | -  if (!smartlist_len(responsible)) {
 | 
	
		
			
				|  |  | +  if (hid_serv_get_responsible_directories(responsible, query) < 0) {
 | 
	
		
			
				|  |  |      smartlist_free(responsible);
 | 
	
		
			
				|  |  |      return 0;
 | 
	
		
			
				|  |  |    }
 |