bwauth: check if a bw file could be read

Before serving it by HTTP.
This commit is contained in:
juga0 2018-11-07 12:04:09 +00:00 committed by teor
parent ee09e5d7ea
commit b75e2539f9
No known key found for this signature in database
GPG Key ID: 10FEAA0E7075672A

View File

@ -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;
}