aboutsummaryrefslogtreecommitdiff
path: root/src/feature/dircache/dircache.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/feature/dircache/dircache.c')
-rw-r--r--src/feature/dircache/dircache.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/src/feature/dircache/dircache.c b/src/feature/dircache/dircache.c
index 2aaaf7be11..d9625ee698 100644
--- 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;
}