[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

[tor-commits] [tor/release-0.2.2] Fix crash when read_file_to_string() fails in SAVECONF



commit 13847b8db6b676c4f2951a4195758f395b7551a8
Author: Nick Mathewson <nickm@xxxxxxxxxxxxxx>
Date:   Wed May 11 22:05:41 2011 -0400

    Fix crash when read_file_to_string() fails in SAVECONF
    
    The new behavior is to try to rename the old file if there is one there
    that we can't read.  In all likelihood, that will fail too, but at least
    we tried, and at least it won't crash.
---
 changes/bug3135 |    6 ++++++
 src/or/config.c |    2 +-
 2 files changed, 7 insertions(+), 1 deletions(-)

diff --git a/changes/bug3135 b/changes/bug3135
new file mode 100644
index 0000000..d761123
--- /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 9cd8149..fbfa771 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);



_______________________________________________
tor-commits mailing list
tor-commits@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits