mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-14 07:03:44 +01:00
Merge branch 'maint-0.3.2' into maint-0.3.3
This commit is contained in:
commit
c66b512671
5
changes/bug26007
Normal file
5
changes/bug26007
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
o Major bugfixes (directory authorities, security):
|
||||||
|
- When directory authorities read a zero-byte bandwidth file, they log
|
||||||
|
a warning with the contents of an uninitialised buffer. Log a warning
|
||||||
|
about the empty file instead.
|
||||||
|
Fixes bug 26007; bugfix on 0.2.2.1-alpha.
|
@ -2801,14 +2801,23 @@ dirserv_read_measured_bandwidths(const char *from_file,
|
|||||||
time_t file_time, now;
|
time_t file_time, now;
|
||||||
int ok;
|
int ok;
|
||||||
|
|
||||||
|
/* Initialise line, so that we can't possibly run off the end. */
|
||||||
|
memset(line, 0, sizeof(line));
|
||||||
|
|
||||||
if (fp == NULL) {
|
if (fp == NULL) {
|
||||||
log_warn(LD_CONFIG, "Can't open bandwidth file at configured location: %s",
|
log_warn(LD_CONFIG, "Can't open bandwidth file at configured location: %s",
|
||||||
from_file);
|
from_file);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!fgets(line, sizeof(line), fp)
|
/* If fgets fails, line is either unmodified, or indeterminate. */
|
||||||
|| !strlen(line) || line[strlen(line)-1] != '\n') {
|
if (!fgets(line, sizeof(line), fp)) {
|
||||||
|
log_warn(LD_DIRSERV, "Empty bandwidth file");
|
||||||
|
fclose(fp);
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!strlen(line) || line[strlen(line)-1] != '\n') {
|
||||||
log_warn(LD_DIRSERV, "Long or truncated time in bandwidth file: %s",
|
log_warn(LD_DIRSERV, "Long or truncated time in bandwidth file: %s",
|
||||||
escaped(line));
|
escaped(line));
|
||||||
fclose(fp);
|
fclose(fp);
|
||||||
|
Loading…
Reference in New Issue
Block a user