|
@@ -1371,10 +1371,11 @@ circuit_build_times_network_check_changed(circuit_build_times_t *cbt)
|
|
|
}
|
|
|
cbt->liveness.after_firsthop_idx = 0;
|
|
|
|
|
|
+#define MAX_TIMEOUT ((int32_t) (INT32_MAX/2))
|
|
|
/* Check to see if this has happened before. If so, double the timeout
|
|
|
* to give people on abysmally bad network connections a shot at access */
|
|
|
if (cbt->timeout_ms >= circuit_build_times_get_initial_timeout()) {
|
|
|
- if (cbt->timeout_ms > INT32_MAX/2 || cbt->close_ms > INT32_MAX/2) {
|
|
|
+ if (cbt->timeout_ms > MAX_TIMEOUT || cbt->close_ms > MAX_TIMEOUT) {
|
|
|
log_warn(LD_CIRC, "Insanely large circuit build timeout value. "
|
|
|
"(timeout = %fmsec, close = %fmsec)",
|
|
|
cbt->timeout_ms, cbt->close_ms);
|
|
@@ -1386,6 +1387,7 @@ circuit_build_times_network_check_changed(circuit_build_times_t *cbt)
|
|
|
cbt->close_ms = cbt->timeout_ms
|
|
|
= circuit_build_times_get_initial_timeout();
|
|
|
}
|
|
|
+#undef MAX_TIMEOUT
|
|
|
|
|
|
cbt_control_event_buildtimeout_set(cbt, BUILDTIMEOUT_SET_EVENT_RESET);
|
|
|
|