|  | @@ -1196,12 +1196,12 @@ networkstatus_add_detached_signatures(networkstatus_t *target,
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |    /* For each voter in src... */
 | 
	
		
			
				|  |  | -  SMARTLIST_FOREACH(sigs->signatures, networkstatus_voter_info_t *, src_voter,
 | 
	
		
			
				|  |  | -    {
 | 
	
		
			
				|  |  | +  SMARTLIST_FOREACH_BEGIN(sigs->signatures, networkstatus_voter_info_t *,
 | 
	
		
			
				|  |  | +                          src_voter) {
 | 
	
		
			
				|  |  |        char voter_identity[HEX_DIGEST_LEN+1];
 | 
	
		
			
				|  |  |        networkstatus_voter_info_t *target_voter =
 | 
	
		
			
				|  |  |          networkstatus_get_voter_by_id(target, src_voter->identity_digest);
 | 
	
		
			
				|  |  | -      authority_cert_t *cert;
 | 
	
		
			
				|  |  | +      authority_cert_t *cert = NULL;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |        base16_encode(voter_identity, sizeof(voter_identity),
 | 
	
		
			
				|  |  |                      src_voter->identity_digest, DIGEST_LEN);
 | 
	
	
		
			
				|  | @@ -1228,6 +1228,7 @@ networkstatus_add_detached_signatures(networkstatus_t *target,
 | 
	
		
			
				|  |  |            networkstatus_check_voter_signature(target, src_voter, cert);
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |        /* If this signature is good, or we don't have any signature yet,
 | 
	
		
			
				|  |  |         * then add it. */
 | 
	
		
			
				|  |  |        if (src_voter->good_signature || !target_voter->signature) {
 | 
	
	
		
			
				|  | @@ -1239,12 +1240,12 @@ networkstatus_add_detached_signatures(networkstatus_t *target,
 | 
	
		
			
				|  |  |          memcpy(target_voter->signing_key_digest, src_voter->signing_key_digest,
 | 
	
		
			
				|  |  |                 DIGEST_LEN);
 | 
	
		
			
				|  |  |          target_voter->signature_len = src_voter->signature_len;
 | 
	
		
			
				|  |  | -        target_voter->good_signature = 1;
 | 
	
		
			
				|  |  | -        target_voter->bad_signature = 0;
 | 
	
		
			
				|  |  | +        target_voter->good_signature = src_voter->good_signature;
 | 
	
		
			
				|  |  | +        target_voter->bad_signature = src_voter->bad_signature;
 | 
	
		
			
				|  |  |        } else {
 | 
	
		
			
				|  |  |          log_info(LD_DIR, "Not adding signature from %s", voter_identity);
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  | -    });
 | 
	
		
			
				|  |  | +  } SMARTLIST_FOREACH_END(src_voter);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |    return r;
 | 
	
		
			
				|  |  |  }
 |