summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2020-01-06 13:24:01 -0500
committerNick Mathewson <nickm@torproject.org>2020-01-06 13:24:01 -0500
commitf1173a63fb905922a2ef13588a1999d85a24a9f6 (patch)
tree5455149219b45568dfacaf060ba7c166685ef58e
parent77188ef36e9163b87f89135ff459f21100614b1e (diff)
parent6da989cfe8323418ee1f888287d0d65b21b60c1d (diff)
downloadtor-f1173a63fb905922a2ef13588a1999d85a24a9f6.tar.gz
tor-f1173a63fb905922a2ef13588a1999d85a24a9f6.zip
Merge branch 'maint-0.4.2' into release-0.4.2
-rw-r--r--changes/bug327714
-rw-r--r--changes/ticket327654
-rw-r--r--src/lib/confmgt/structvar.c4
-rw-r--r--src/lib/log/util_bug.h6
4 files changed, 14 insertions, 4 deletions
diff --git a/changes/bug32771 b/changes/bug32771
new file mode 100644
index 0000000000..606bcf4be4
--- /dev/null
+++ b/changes/bug32771
@@ -0,0 +1,4 @@
+ o Minor bugfixes (logging, crash):
+ - Avoid a possible crash when trying to log a (fatal) assertion failure
+ about mismatched magic numbers in configuration objects. Fixes bug 32771;
+ bugfix on 0.4.2.1-alpha.
diff --git a/changes/ticket32765 b/changes/ticket32765
new file mode 100644
index 0000000000..a9663a5df3
--- /dev/null
+++ b/changes/ticket32765
@@ -0,0 +1,4 @@
+ o Minor bugfixes (correctness checks):
+ - Use GCC/Clang's printf-checking feature to make sure that
+ tor_assertf() arguments are correctly typed. Fixes bug 32765;
+ bugfix on 0.4.1.1-alpha.
diff --git a/src/lib/confmgt/structvar.c b/src/lib/confmgt/structvar.c
index de678d18c8..7a3b8c7df2 100644
--- a/src/lib/confmgt/structvar.c
+++ b/src/lib/confmgt/structvar.c
@@ -53,8 +53,8 @@ struct_check_magic(const void *object, const struct_magic_decl_t *decl)
const uint32_t *ptr = STRUCT_VAR_P(object, decl->magic_offset);
tor_assertf(*ptr == decl->magic_val,
"Bad magic number on purported %s object. "
- "Expected %"PRIu32"x but got "PRIu32"x.",
- decl->magic_val, *ptr);
+ "Expected %"PRIu32"x but got %"PRIu32"x.",
+ decl->typename, decl->magic_val, *ptr);
}
/**
diff --git a/src/lib/log/util_bug.h b/src/lib/log/util_bug.h
index c3141754de..030bfa2cc9 100644
--- a/src/lib/log/util_bug.h
+++ b/src/lib/log/util_bug.h
@@ -242,10 +242,12 @@
void tor_assertion_failed_(const char *fname, unsigned int line,
const char *func, const char *expr,
- const char *fmt, ...);
+ const char *fmt, ...)
+ CHECK_PRINTF(5,6);
void tor_bug_occurred_(const char *fname, unsigned int line,
const char *func, const char *expr,
- int once, const char *fmt, ...);
+ int once, const char *fmt, ...)
+ CHECK_PRINTF(6,7);
void tor_abort_(void) ATTR_NORETURN;