From 75388f67c07d1a48c6fb9c5d1c4441ab66b644c0 Mon Sep 17 00:00:00 2001 From: teor Date: Sat, 13 Jun 2015 21:28:02 +1000 Subject: [PATCH] Correctly handle failed crypto_early_init If crypto_early_init fails, a typo in a return value from tor_init means that tor_main continues running, rather than returning an error value. Fixes bug 16360; bugfix on d3fb846d8c98 in 0.2.5.2-alpha, introduced when implementing #4900. Patch by "teor". --- changes/bug16360-failed-crypto-early-init | 7 +++++++ src/or/main.c | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) create mode 100644 changes/bug16360-failed-crypto-early-init diff --git a/changes/bug16360-failed-crypto-early-init b/changes/bug16360-failed-crypto-early-init new file mode 100644 index 0000000000..21972bce52 --- /dev/null +++ b/changes/bug16360-failed-crypto-early-init @@ -0,0 +1,7 @@ + o Minor bugfixes (crypto error-handling): + - If crypto_early_init fails, a typo in a return value from tor_init + means that tor_main continues running, rather than returning + an error value. + Fixes bug 16360; bugfix on d3fb846d8c98 in 0.2.5.2-alpha, + introduced when implementing #4900. + Patch by "teor". diff --git a/src/or/main.c b/src/or/main.c index 9c1cabf037..031f758f45 100644 --- a/src/or/main.c +++ b/src/or/main.c @@ -2346,7 +2346,7 @@ tor_init(int argc, char *argv[]) /* Set up the crypto nice and early */ if (crypto_early_init() < 0) { log_err(LD_GENERAL, "Unable to initialize the crypto subsystem!"); - return 1; + return -1; } /* Initialize the history structures. */