mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2025-02-23 06:35:28 +01:00
r11580@Kushana: nickm | 2006-12-15 00:09:46 -0500
Resolve bug 369: Check for integer underflow when printing "bytes left" accounting numbers. Also fix a copyright date that I noticed while reading the bug. Also make a buffer big enough that strings will not get truncated. All are backport candidates. svn:r9115
This commit is contained in:
parent
c44dd3870e
commit
fdb10ff0b5
3 changed files with 12 additions and 5 deletions
|
@ -51,6 +51,9 @@ Changes in version 0.1.2.5-xxxx - 200?-??-??
|
|||
o Controller bugfixes:
|
||||
- Report the circuit number correctly in STREAM CLOSED events. (Bug
|
||||
reported by Mike Perry.)
|
||||
- Do not report bizarre values for results of accounting GETINFOs
|
||||
when the last second's write or read exceeds the alloted bandwidth.
|
||||
(Bug 329.)
|
||||
|
||||
|
||||
Changes in version 0.1.2.4-alpha - 2006-12-03
|
||||
|
|
|
@ -1585,7 +1585,7 @@ static void
|
|||
print_usage(void)
|
||||
{
|
||||
printf(
|
||||
"Copyright 2001-2005 Roger Dingledine, Nick Mathewson.\n\n"
|
||||
"Copyright 2001-2006 Roger Dingledine, Nick Mathewson.\n\n"
|
||||
"tor -f <torrc> [args]\n"
|
||||
"See man page for options, or http://tor.eff.org/ for documentation.\n");
|
||||
}
|
||||
|
|
|
@ -949,10 +949,14 @@ getinfo_helper_accounting(control_connection_t *conn,
|
|||
U64_PRINTF_ARG(n_bytes_written_in_interval));
|
||||
} else if (!strcmp(question, "accounting/bytes-left")) {
|
||||
uint64_t limit = get_options()->AccountingMax;
|
||||
*answer = tor_malloc(32);
|
||||
tor_snprintf(*answer, 32, U64_FORMAT" "U64_FORMAT,
|
||||
U64_PRINTF_ARG(limit - n_bytes_read_in_interval),
|
||||
U64_PRINTF_ARG(limit - n_bytes_written_in_interval));
|
||||
uint64_t read_left = 0, write_left = 0;
|
||||
if (n_bytes_read_in_interval < limit)
|
||||
read_left = limit - n_bytes_read_in_interval;
|
||||
if (n_bytes_written_in_interval < limit)
|
||||
write_left = limit - n_bytes_written_in_interval;
|
||||
*answer = tor_malloc(64);
|
||||
tor_snprintf(*answer, 64, U64_FORMAT" "U64_FORMAT,
|
||||
U64_PRINTF_ARG(read_left), U64_PRINTF_ARG(write_left));
|
||||
} else if (!strcmp(question, "accounting/interval-start")) {
|
||||
*answer = tor_malloc(ISO_TIME_LEN+1);
|
||||
format_iso_time(*answer, interval_start_time);
|
||||
|
|
Loading…
Add table
Reference in a new issue