tor

The Tor anonymity network
git clone https://git.dasho.dev/tor.git
Log | Files | Refs | README | LICENSE

commit b75e2539f9994dc04ee7662445878e8486eb77b0
parent ee09e5d7eacdfde0cd5e1bc4a18c72fd7e47c1a7
Author: juga0 <juga@riseup.net>
Date:   Wed,  7 Nov 2018 12:04:09 +0000

bwauth: check if a bw file could be read

Before serving it by HTTP.

Diffstat:
Msrc/feature/dircache/dircache.c | 14++++++++------
1 file changed, 8 insertions(+), 6 deletions(-)

diff --git a/src/feature/dircache/dircache.c b/src/feature/dircache/dircache.c @@ -1453,13 +1453,15 @@ handle_get_next_bandwidth(dir_connection_t *conn, int lifetime = 60; char *bandwidth = read_file_to_str(options->V3BandwidthsFile, RFTS_IGNORE_MISSING, NULL); - size_t len = strlen(bandwidth); - write_http_response_header(conn, len, NO_METHOD, lifetime); - connection_buf_add(bandwidth, len, TO_CONN(conn)); - tor_free(bandwidth); - } else { - write_short_http_response(conn, 404, "Not found"); + if (bandwidth != NULL) { + site_t len = strlen(bandwidth); + write_http_response_header(conn, len, NO_METHOD, lifetime); + connection_buf_add(bandwidth, len, TO_CONN(conn)); + tor_free(bandwidth); + return 0; + } } + write_short_http_response(conn, 404, "Not found"); return 0; }