|  | @@ -1525,10 +1525,15 @@ rep_hist_get_bandwidth_lines(void)
 | 
	
		
			
				|  |  |    size_t len;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |    /* opt [dirreq-](read|write)-history yyyy-mm-dd HH:MM:SS (n s) n,n,n... */
 | 
	
		
			
				|  |  | -  len = (67+21*NUM_TOTALS)*4;
 | 
	
		
			
				|  |  | +/* The n,n,n part above. Largest representation of a uint64_t is 20 chars
 | 
	
		
			
				|  |  | + * long, plus the comma. */
 | 
	
		
			
				|  |  | +#define MAX_HIST_VALUE_LEN 21*NUM_TOTALS
 | 
	
		
			
				|  |  | +  len = (67+MAX_HIST_VALUE_LEN)*4;
 | 
	
		
			
				|  |  |    buf = tor_malloc_zero(len);
 | 
	
		
			
				|  |  |    cp = buf;
 | 
	
		
			
				|  |  |    for (r=0;r<4;++r) {
 | 
	
		
			
				|  |  | +    char tmp[MAX_HIST_VALUE_LEN];
 | 
	
		
			
				|  |  | +    size_t slen;
 | 
	
		
			
				|  |  |      switch (r) {
 | 
	
		
			
				|  |  |        case 0:
 | 
	
		
			
				|  |  |          b = write_array;
 | 
	
	
		
			
				|  | @@ -1548,11 +1553,16 @@ rep_hist_get_bandwidth_lines(void)
 | 
	
		
			
				|  |  |          break;
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |      tor_assert(b);
 | 
	
		
			
				|  |  | +    slen = rep_hist_fill_bandwidth_history(tmp, MAX_HIST_VALUE_LEN, b);
 | 
	
		
			
				|  |  | +    /* If we don't have anything to write, skip to the next entry. */
 | 
	
		
			
				|  |  | +    if (slen == 0)
 | 
	
		
			
				|  |  | +      continue;
 | 
	
		
			
				|  |  |      format_iso_time(t, b->next_period-NUM_SECS_BW_SUM_INTERVAL);
 | 
	
		
			
				|  |  |      tor_snprintf(cp, len-(cp-buf), "%s %s (%d s) ",
 | 
	
		
			
				|  |  |                   desc, t, NUM_SECS_BW_SUM_INTERVAL);
 | 
	
		
			
				|  |  |      cp += strlen(cp);
 | 
	
		
			
				|  |  | -    cp += rep_hist_fill_bandwidth_history(cp, len-(cp-buf), b);
 | 
	
		
			
				|  |  | +    strlcat(cp, tmp, len-(cp-buf));
 | 
	
		
			
				|  |  | +    cp += slen;
 | 
	
		
			
				|  |  |      strlcat(cp, "\n", len-(cp-buf));
 | 
	
		
			
				|  |  |      ++cp;
 | 
	
		
			
				|  |  |    }
 |