aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2011-05-11 22:49:44 -0400
committerNick Mathewson <nickm@torproject.org>2011-05-11 22:49:44 -0400
commitd1c7f65a8e76b594c63bf23baf7fb6c19ba44c00 (patch)
tree981c40261f0e943f5cb6f3404284bf9cf8a7270d
parente7b10e5ecfdf3ede4123f921c1d2419268235176 (diff)
parent13847b8db6b676c4f2951a4195758f395b7551a8 (diff)
downloadtor-d1c7f65a8e76b594c63bf23baf7fb6c19ba44c00.tar.gz
tor-d1c7f65a8e76b594c63bf23baf7fb6c19ba44c00.zip
Merge branch 'bug3135' into maint-0.2.1
-rw-r--r--changes/bug31356
-rw-r--r--src/or/config.c2
2 files changed, 7 insertions, 1 deletions
diff --git a/changes/bug3135 b/changes/bug3135
new file mode 100644
index 0000000000..d761123480
--- /dev/null
+++ b/changes/bug3135
@@ -0,0 +1,6 @@
+ o Minor bugfixes
+ - Do not crash when our configuration file becomes unreadable
+ (usually due to a permissions change) between when we start
+ up and when a controller calls SAVECONF. Fixes bug 3135;
+ bugfix on 0.0.9pre6.
+
diff --git a/src/or/config.c b/src/or/config.c
index 9cd8149ce8..fbfa771ed3 100644
--- a/src/or/config.c
+++ b/src/or/config.c
@@ -4625,7 +4625,7 @@ write_configuration_file(const char *fname, or_options_t *options)
switch (file_status(fname)) {
case FN_FILE:
old_val = read_file_to_str(fname, 0, NULL);
- if (strcmpstart(old_val, GENERATED_FILE_PREFIX)) {
+ if (!old_val || strcmpstart(old_val, GENERATED_FILE_PREFIX)) {
rename_old = 1;
}
tor_free(old_val);